图形节点(子图)

此页面正在进行中。 欢迎在 GitHub 存储库上做出贡献。

您可以通过运行本地图节点来索引 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 访问。

这些说明基于 Leon Do 的指南

最后更新于