目次
GraphQL
次のステップは、グラフのプレイグラウンドで構築したいくつかのクエリに基づいています。 Python これは、イーサリアム ブロックチェーンからさまざまなデータをリクエストするコードで使用されます。
ホームページ バックエンド開発 Python チュートリアル Python を使用して Ethereum Graph データを操作する手順

Python を使用して Ethereum Graph データを操作する手順

May 08, 2023 am 10:01 AM
python graph イーサリアムデータ

用 Python 在 Graph 中查询以太坊数据

始める前に、いくつかの定義を見てみましょう。

  • GraphQL はクエリ言語
  • Graph は、GraphQL クエリ言語を使用するブロックチェーン プロジェクトです。このプロジェクトでは、誰でもサブグラフと呼ばれるオープン API を構築して公開できます。

Graph プロジェクトは、データを問い合わせる方法を記述する構文である GraphQL を使用します。この構文は、特定の種類のデータベースまたはストレージ エンジンに関連付けられていませんが、既存のコードとデータによってサポートされています。

GraphQL

まず、非常に単純な GraphQL クエリ構造と、それを実行したときに得られる結果を見てみましょう。 GraphQL サービスが実行されると、実行する GraphQL クエリを受け取ることができます。サービスはクエリ ステートメントをチェックして、定義された型とフィールドのみが関連付けられていることを確認し、関数を実行して結果を生成します。

例として、次のクエリ構造を見てください:

用 Python 在 Graph 中查询以太坊数据

上記の GraphQL クエリは次の結果を生成します:

用 Python 在 Graph 中查询以太坊数据

#クエリの構造が結果と同じであることがわかります。サーバーはクライアントがどのフィールドを要求したかを正確に知っているため、これは GraphQL にとって非常に重要です。

GraphQL を使用して次のことを行うことができます:

    データを検索する
  • リクエストにパラメーターを渡す
  • エイリアスなどを使用する
複雑な GraphQL クエリの作成方法の詳細については、GraphQL 公式 Web サイトにアクセスしてください。

https://www.php.cn/link/b950ea26ca12daae142bd74dba4427c8

グラフ

グラフをより深く理解するにはプロジェクトの内容とその仕組みについては、thegraph.com/docs をご覧ください。サブグラフをデプロイする方法と、サブグラフのデータをクエリする方法について説明します。サブグラフは、TheGraph がイーサリアムからどのデータにインデックスを付けるか、およびそれをどのように保存するかを定義します。サブグラフがデプロイされると、GraphQL 構文を使用してクエリできるようになります。

このチュートリアルでは、サブグラフからのデータのクエリに焦点を当てます。

1. The Graph Explorer (https://thegraph.com/explorer/) にアクセスして、Ethereum ブロックチェーン上に存在するすべてのマネージド サブグラフを表示します。データは、これらのホストされたサービス (サブグラフ) のそれぞれからクエリできます。

2. サブグラフ ページを選択し、ページの http クエリ アドレスとプレイグラウンドに注目してください。

3. Python コードには、ブロックチェーン データを含むエンドポイントである http クエリ アドレスが必要です。このサービスは GraphQL クエリを実行します。

用 Python 在 Graph 中查询以太坊数据

4. 必ずプレイグラウンドで実験してください。 Web サイトのこのセクションでは、Ethereum ブロックチェーンの GraphQL クエリを構築してテストできます。

# サンプル クエリを選択します。
  • サンプル クエリが表示され、編集できます。
  • 実行ボタンを押します。
  • 結果を表示します。
  • 画面の右端には、クエリに追加できるフィールドのリストが表示されます。

用 Python 在 Graph 中查询以太坊数据Python でのグラフの使用

次のステップは、グラフのプレイグラウンドで構築したいくつかのクエリに基づいています。 Python これは、イーサリアム ブロックチェーンからさまざまなデータをリクエストするコードで使用されます。

以下の Python サンプル コードには、サブグラフへのポスト リクエストを行うための汎用関数が含まれています。別のサブグラフを使用するには、URL エンドポイントと GraphQL 構文を変更する必要があります。プログラムの最後に print ステートメントを追加しました (読みやすくなります)。これにより、イーサリアム ブロックチェーンからの結果がコンソールに出力されます。

例 1: Python で GraphQL を使用してイーサリアム ブロックチェーンで Aave をクエリし、タイムスタンプごとに最新 10 件のフラッシュ ローンのリストを取得します

import requests
# pretty print is used to print the output in the console in an easy to read format
from pprint import pprint
# function to use requests.post to make an API call to the subgraph url
def run_query(q):
# endpoint where you are making the request
request = requests.post('https://api.thegraph.com/subgraphs/name/aave/protocol'
'',
json={'query': query})
if request.status_code == 200:
return request.json()
else:
raise Exception('Query failed. return code is {}.{}'.format(request.status_code, query))
# The Graph query - Query aave for a list of the last 10 flash loans by time stamp
query = """
{
flashLoans (first: 10, orderBy: timestamp, orderDirection: desc,){
id
reserve {
name
symbol
}
amount
timestamp
}
}
"""
result = run_query(query)
# print the results
print('Print Result - {}'.format(result))
print('#############')
# pretty print the results to make it easier to read
pprint(result)
ログイン後にコピー

例 2: Python GraphQL を使用してイーサリアムで Uniswap をクエリブロックチェーンを使用して上位 10 ペアのリストを取得します。

以下のクエリは、上位の ETH フローを ETH 入金額の降順で詳述する Uniswap のランキング リストです。セックス サプライヤーです。これは、市場で人気のあるプレーヤーを追跡したり、ETH の流動性プロバイダーと他のトークンとの関係を観察したりするなど、ユーザーの行動をより適切に分析するのに役立ちます。クエリできるその他のユーザー フィールドには、ユーザーの住所、売買された過去の資産、およびそのユーザーが支払った合計手数料が含まれます。

import requests
# pretty print is used to print the output in the console in an easy to read format
from pprint import pprint
# function to use requests.post to make an API call to the subgraph url
def run_query(q):
# endpoint where you are making the request
request = requests.post('https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2'
'',
json={'query': query})
if request.status_code == 200:
return request.json()
else:
raise Exception('Query failed. return code is {}.{}'.format(request.status_code, query))
# The Graph query - Query Uniswap for a list of the top 10 pairs where the reserve is > 1000000 USD and the volume is >50000 USD
query = """
{
pairs(first: 10, where: {reserveUSD_gt: "1000000", volumeUSD_gt: "50000"}, orderBy: reserveUSD, orderDirection: desc) {
id
token0 {
id
symbol
}
token1 {
id
symbol
}
reserveUSD
volumeUSD
}
}
"""
result = run_query(query)
# print the results
print('Print Result - {}'.format(result))
print('#############')
# pretty print the results
pprint(result)
ログイン後にコピー

グラフを使用して Python で Ethereum データをクエリすることは非常に強力です。レポートや分析のためにクエリできるデータは数多くあります。

このコードは学習と娯楽のみを目的としています。このコードは監査されていません。自己責任で使用してください。契約は実験的なものであり、バグが含まれている可能性があります。

以上がPython を使用して Ethereum Graph データを操作する手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

CentosでPytorchモデルを訓練する方法 CentosでPytorchモデルを訓練する方法 Apr 14, 2025 pm 03:03 PM

CentOSシステムでのPytorchモデルの効率的なトレーニングには手順が必要であり、この記事では詳細なガイドが提供されます。 1。環境の準備:Pythonおよび依存関係のインストール:Centosシステムは通常Pythonをプリインストールしますが、バージョンは古い場合があります。 YumまたはDNFを使用してPython 3をインストールし、PIP:sudoyumupdatepython3(またはsudodnfupdatepython3)、pip3install-upgradepipをアップグレードすることをお勧めします。 cuda and cudnn(GPU加速):nvidiagpuを使用する場合は、cudatoolをインストールする必要があります

CentosのPytorchのGPUサポートはどのようにサポートされていますか CentosのPytorchのGPUサポートはどのようにサポートされていますか Apr 14, 2025 pm 06:48 PM

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Python vs. JavaScript:コミュニティ、ライブラリ、リソース Python vs. JavaScript:コミュニティ、ライブラリ、リソース Apr 15, 2025 am 12:16 AM

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Centosの下でPytorchバージョンを選択する方法 Centosの下でPytorchバージョンを選択する方法 Apr 14, 2025 pm 02:51 PM

CentOSでPytorchバージョンを選択する場合、次の重要な要素を考慮する必要があります。1。CUDAバージョンの互換性GPUサポート:NVIDIA GPUを使用してGPU加速度を活用したい場合は、対応するCUDAバージョンをサポートするPytorchを選択する必要があります。 NVIDIA-SMIコマンドを実行することでサポートされているCUDAバージョンを表示できます。 CPUバージョン:GPUをお持ちでない場合、またはGPUを使用したくない場合は、PytorchのCPUバージョンを選択できます。 2。PythonバージョンPytorch

CentosでPytorchの分散トレーニングを操作する方法 CentosでPytorchの分散トレーニングを操作する方法 Apr 14, 2025 pm 06:36 PM

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

NginxをCentosにインストールする方法 NginxをCentosにインストールする方法 Apr 14, 2025 pm 08:06 PM

NGINXのインストールをインストールするには、次の手順に従う必要があります。開発ツール、PCRE-Devel、OpenSSL-Develなどの依存関係のインストール。 nginxソースコードパッケージをダウンロードし、それを解凍してコンパイルしてインストールし、/usr/local/nginxとしてインストールパスを指定します。 nginxユーザーとユーザーグループを作成し、アクセス許可を設定します。構成ファイルnginx.confを変更し、リスニングポートとドメイン名/IPアドレスを構成します。 nginxサービスを開始します。依存関係の問題、ポート競合、構成ファイルエラーなど、一般的なエラーに注意する必要があります。パフォーマンスの最適化は、キャッシュをオンにしたり、ワーカープロセスの数を調整するなど、特定の状況に応じて調整する必要があります。

See all articles