-
Notifications
You must be signed in to change notification settings - Fork 0
スコアリングシステムを作る
miti edited this page Feb 10, 2023
·
7 revisions
- 作業ディレクトリはlepus-subql
- 環境構築
- npm install -g @subql/[email protected]
- subql help
- yarn install
- 開発手順
- 重要なファイル
- project.yml
- schema.graphql
- src/mappings/mappingHandlers.ts
- schema.graphqlに欲しいデータ構造を定義する
- schema.graphqlをもとに必要なコードを生成する
- yarn codegen
- データの保存するためのコードを実装
- src/mappings/mappingHandlers.ts
- yarn build
- 各種機能を立ち上げる
- docker compose up -d
- ログを確認してエラーになっていないことを確認
- docker compose logs -f
- ずっとログが流れ続けるので1分ぐらいエラーなければ多分大丈夫
- http://localhost:3001/ にアクセスしてテスト
- 各種機能を消す(後片付け)
- docker compose down
- 重要なファイル
- 雛形は簡単なデータ取得しかないので、必要に応じてドキュメントをみて実装する
※ 現状、balances.transferイベントをとることになっているので必要に応じて設定を変える必要がある https://github.com/lepus-shinagawa/lepus/blob/main/lepus-subql/project.yaml#L39-L41
※ コントラクトのデータにアクセスする方法を調べる。コントラクトがwasmで実装されている場合、対応するバイナリコードが必要そう。
- 自分でプロジェクト作成からやりたい場合
- https://academy.subquery.network/quickstart/quickstart.html
- 注意点
- project.yamlのendpointがonfinalityになっているが、課金しないと使いづらいのでastar公式する
- https://github.com/lepus-shinagawa/lepus/blob/main/lepus-subql/project.yaml#L24
- lepus-subqlが起動していることを確認 http://localhost:3001/
- lepus-uiフォルダで作業する
- npm install
- npm run dev
- 確認は http://localhost:3000/
- 実装の参考例
-
概要:
- chaiというmatic上のERC20のトークンを取得するthe graphをデプロイするまでのサンプルです。
- 下記がサンプル例のコントラクトアドレス
- 0x4491D1c47bBdE6746F878400090ba6935A91Dab6
-
作業ディレクトリはlepus-the-graph
-
the graphにgitアカウントを用いて登録 - https://thegraph.com/
-
環境構築:Subgraph nameは<GITHUB_USERNAME>/<SUBGRAPH_NAME>とする
- npm install -g @graphprotocol/graph-cli
- graph init
- 設定例
- ✔ Protocol · ethereum
- ✔ Product for which to initialize · hosted-service
- ✔ Subgraph name · sunagi/chai
- ✔ Directory to create the subgraph in · chai
- ✔ Ethereum network · matic
- ✔ Contract address · 0x4491D1c47bBdE6746F878400090ba6935A91Dab6
- ✔ Fetching ABI from Etherscan
- ✔ Start Block · 25452696
- ✔ Contract Name · ERC20
- ✔ Index contract events as entities (Y/n) · true
- lepus-the-graph/にchaiが生成されるので、このディレクトリに移動
-
開発手順
- 重要なファイル
- subgraph.yaml
- schema.graphql
- schema.graphqlをもとに必要なコードを生成する
- graph codegen
- https://thegraph.com/explorer/dashboard/ で、chaiという名前でプロジェクトの設定
-
https://thegraph.com/explorer/dashboard/ でアクセストークンを確認し、以下コマンドで認証
- graph auth https://api.thegraph.com/deploy/ アクセストークン
- Subgraphのデプロイ
- yarn deploy
- 重要なファイル