subgraph/ について
このページは、リポジトリルートに作る subgraph/(The Graph の生成物)について説明する。
docs/subgraph/ はGitHub Pages用の説明ページであり、生成物は本リポジトリには同梱していない。
必要に応じて graph init で作成して進める。2026-07-22にclean environmentで確認したCLIは @graphprotocol/graph-cli@0.98.1(Node.js 20.18.1以上)である。
推奨構成
subgraph/event-token/:Day10 の EventToken を対象にしたサブグラフ- (発展)
subgraph/market/:Day14 の Market を対象にしたサブグラフ
識別子と生成先
SUBGRAPH_SLUG:Subgraph Studioで先に作成したSubgraphのID(例:event-token-sepolia)subgraph/event-token:このrepository内のlocal directorynetwork:indexするcontractがdeployされたchain(例:sepolia)- Studio deploy key:auth専用secret。slug、directory、query API keyとは別物
公式install pageには --product subgraph-studio の例があるが、CLI 0.98.1はこのflagを定義せず、Subgraph Studioをdefault deploy先にする。実行前にexact versionの init --help を確認する。
作成例(EventToken)
リポジトリルートで実行し、Studioのslugとは別のlocal directoryへ生成する:
export SUBGRAPH_SLUG=event-token-sepolia
export EVENT_TOKEN_ADDR=0x...
export EVENT_TOKEN_START_BLOCK=12345678
export EVENT_TOKEN_ABI=artifacts/contracts/EventToken.sol/EventToken.json
npx hardhat compile
npx --yes @graphprotocol/graph-cli@0.98.1 --version
npx --yes @graphprotocol/graph-cli@0.98.1 init \
"$SUBGRAPH_SLUG" \
subgraph/event-token \
--protocol ethereum \
--from-contract "$EVENT_TOKEN_ADDR" \
--network sepolia \
--abi "$EVENT_TOKEN_ABI" \
--contract-name EventToken \
--start-block "$EVENT_TOKEN_START_BLOCK" \
--index-events \
--skip-install \
--skip-git
cd subgraph/event-token
npm install --ignore-scripts
npm audit --omit=dev --omit=optional
npm run codegen
npm run build
--skip-git は0.98.1が親repositoryを自動stage/commitしないための指定で、次のmajorではdefault変更予定である。version更新時は削除を推測せずhelpを再確認する。
2026-07-22のclean scaffoldはcodegen/buildまで成功したが、生成依存の npm audit --omit=dev --omit=optional はmoderate 4 / high 9 / critical 2を報告した。学習用の隔離workdirと信頼できるABI/manifestでのみ検証し、deploy keyを使う前に最新releaseとadvisoryを再監査する。npm audit fix --forceによる旧CLIへの自動downgradeは行わない。
Studioでのauth/deployとsecret境界は docs/appendix/the-graph.md を正本とする。生成物の内容やoptionは更新されるため、公式ドキュメントに加えて実配布CLIのversion/helpを確認する。