Python を使用して Ethereum Graph データを操作する手順
始める前に、いくつかの定義を見てみましょう。
- GraphQL はクエリ言語
- Graph は、GraphQL クエリ言語を使用するブロックチェーン プロジェクトです。このプロジェクトでは、誰でもサブグラフと呼ばれるオープン API を構築して公開できます。
Graph プロジェクトは、データを問い合わせる方法を記述する構文である GraphQL を使用します。この構文は、特定の種類のデータベースまたはストレージ エンジンに関連付けられていませんが、既存のコードとデータによってサポートされています。
GraphQL
まず、非常に単純な GraphQL クエリ構造と、それを実行したときに得られる結果を見てみましょう。 GraphQL サービスが実行されると、実行する GraphQL クエリを受け取ることができます。サービスはクエリ ステートメントをチェックして、定義された型とフィールドのみが関連付けられていることを確認し、関数を実行して結果を生成します。
例として、次のクエリ構造を見てください:
上記の GraphQL クエリは次の結果を生成します:
- データを検索する
- リクエストにパラメーターを渡す
- エイリアスなどを使用する
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 でのグラフの使用
次のステップは、グラフのプレイグラウンドで構築したいくつかのクエリに基づいています。 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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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