thegraph.com 如何以编程方式更新数据源以跟踪新合同?

问题描述

基于doc,看来我们需要指定我们要跟踪的合约的地址。我如何跟踪新合同?例如。部署工厂合约后,我们还需要跟踪工厂创建的所有新合约。

了解您可以手动执行此操作或编写 Cron 任务来检查新合约部署并编写重新部署脚本,有没有办法在 thegraph.com 中以编程方式执行此操作?例如。在有人添加新交易对后,uniswap 如何跟踪新交易对(我想是新的合约地址来跟踪)?

pragma solidity >=0.5.0;

interface IUniswapV2Factory {
  event PairCreated(address indexed token0,address indexed token1,address pair,uint);

  function getPair(address tokenA,address tokenB) external view returns (address pair);
  function allPairs(uint) external view returns (address pair);
  function allPairsLength() external view returns (uint);

  function feeTo() external view returns (address);
  function feeToSetter() external view returns (address);

  function createPair(address tokenA,address tokenB) external returns (address pair);
}

跟踪工厂合同很简单。但是在 createPair 之后,我如何跟踪新创建的合同 address pair?是否可以在 thegraph.com 中执行此操作?还是我必须以艰难的方式去做?

答案:https://thegraph.com/docs/define-a-subgraph#data-source-templates

解决方法

通常,工厂合约在部署新合约时会发出一个事件。只需跟踪此事件。但是这个问题没有合约的源代码,所以不好说。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...