【问题标题】:thegraph.com How to update data source programmatically to track new contract?thegraph.com 如何以编程方式更新数据源以跟踪新合同?
【发布时间】:2021-03-30 06:27:29
【问题描述】:

基于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

【问题讨论】:

    标签: ethereum smartcontracts subgraph thegraph.com thegraph


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。 event PairCreated(address indexed token0, address indexed token1, address pair, uint);如何开始跟踪新部署的合约address pair
    • 合约在address pairAFK
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    相关资源
    最近更新 更多