1 个不稳定版本
0.0.1 | 2023 年 8 月 1 日 |
---|
#6 在 #graph-protocol
56KB
597 行
单次 CLI
简介
这是一个专注于在 Graphcast P2P 网络上发送有关特定子图的单一消息的 Graphcast 广播。可用的消息类型是子图所有者发出的版本升级公告消息。
版本升级消息
当开发者在子图上发布新版本(子图部署)时,在他们的 API 查询现有版本期间可能会出现数据服务不稳定。索引器可能需要一些时间来将子图同步到链头,在他们停止同步上一个部署之后。为了减少升级摩擦,开发者在发布子图之前可以发送一条消息,包括旧部署哈希、新部署哈希、匹配的子图 ID 以及他们希望发布版本的时间。
订阅了相同主题的子图广播会立即处理这些信息,可能在他们的图节点上启动链下同步新部署。
是否等待索引器同步到链头,直到可以发布预发布的版本而不中断 API 使用,由子图开发者自行决定。
🆙 示例用法
要为子图部署 "QmacQnSgia4iDPWHpeY6aWxesRFdb8o5DKZUx96zZqEWrB" 在 Graphcast 主网上发送消息,我们可以
cargo run -- --private-key "abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg1" \
--graph-account "0xe9a1cabd57700b17945fd81feefba82340d9568f" \
--identifier "QmacQnSgia4iDPWHpeY6aWxesRFdb8o5DKZUx96zZqEWrB" \
--new-hash "QmTHIS_NEW_HASH" \
--subgraph-id "CnJMdCkW3pr619gsJVtUPAWxspALPdCMw6o7obzYBNp3" \
--index-network "goerli" \
--migration-time 1689205934
从运行二进制文件到发送消息的整个过程应该需要大约 45 秒。可以期待终端输出以下内容
2023-07-31T17:56:44.783866Z INFO Creating Graphcast Agent, radio_name: "subgraph-radio", registry_subgraph: "https://api.thegraph.com/subgraphs/name/hopeyen/graphcast-registry-goerli", network_subgraph: "https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-goerli", graphcast_network: "testnet", max_retry: 5
2023-07-31T17:56:59.328490Z INFO Sent message, msg_id: "0xc6b1131e0f8302abe48057f6fc69722ab46bd4285c2c4a8a8bdca6b221dcda96"
🧪 测试
要运行广播的单元测试。我们建议使用 nextest 作为您的测试运行器。一旦安装,您可以使用以下命令运行测试
cargo nextest run
贡献
依赖关系
~79MB
~1.5M SLoC