2

根据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

4

1 回答 1

1

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

于 2020-12-20T06:34:46.283 回答