图形节点(子图)
您可以通过运行本地图节点来索引 Canto 网络上的历史活动,自定义子图可以部署到该节点。 此页面包含这样做的说明。
先决条件
为了启动 Graph 节点,您需要访问具有历史数据的 Canto 节点。 推荐的方法是先同步您自己的存档节点。
您还需要在用于运行 Graph 节点的机器上安装 Docker 和 Docker Compose。
图节点设置
要设置 Graph 节点本身,首先要克隆默认的 Graph 存储库:
git clone https://github.com/graphprotocol/graph-node/
如果您用于同步的 Canto 节点在不同的机器上运行,请在 graph-node/docker/docker-compose.yml 中更改以太坊网络的 RPC URL。
否则,默认值应该有效。
没有必要更改网络名称,这样做可能需要您在其他地方进行额外的配置更改。
然后运行 graph-node/docker 中的设置文件并启动节点:
# Run setup
./setup.sh
# Start Graph node
docker-compose up
或者,使用 --detach 标志在后台启动 Graph 节点。
部署子图
要将子图部署到图节点,您需要创建一个由 subgraph.yaml 和 schema.graphql 文件组成的子图规范。 The Graph 的文档中提供了有关创建子图的详细信息。
对于实现 ERC20、ERC721 或 ERC1155 等通用令牌标准的合约,您可以使用 OpenZeppelin 子图模块自动生成子图规范。
编译规范文件后,运行以下命令来创建和部署子图:
# Create the subgraph
graph create generated/sample --node http://127.0.0.1:8020
# Deploy the subgraph
graph deploy --ipfs http://localhost:5001 --node http://localhost:8020 generated/sample ./generated/sample.subgraph.yaml
默认情况下,Graph 节点为每个子图托管一个 GraphiQL 用户界面,可以在 http://localhost:8000/subgraphs/name/generated/sample 访问。
最后更新于