You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检索以太坊链上最新部署的智能合约?

如何检索以太坊链上最新部署的智能合约
  • 直接调用以太坊节点接口解析区块
    合约部署交易的核心特征是to字段为空(因为创建新合约时没有预设接收地址),交易执行成功后会生成对应的合约地址。你可以通过节点的JSON-RPC接口完成以下操作:

    1. 调用eth_getBlockByNumber获取最新区块(参数传latest,第二个参数设为true以返回完整交易数据)
    2. 遍历区块内的交易,筛选出to为null的交易
    3. 对筛选出的交易调用eth_getTransactionReceipt拿到合约地址,再用eth_getCode验证该地址是否包含合约代码(返回值非0x即为有效合约)
      简单的JS示例(基于ethers.js):
    const provider = new ethers.providers.JsonRpcProvider('http://your-node-url');
    const latestBlock = await provider.getBlockWithTransactions('latest');
    
    for (const tx of latestBlock.transactions) {
      if (tx.to === null) {
        const receipt = await provider.getTransactionReceipt(tx.hash);
        const contractCode = await provider.getCode(receipt.contractAddress);
        if (contractCode !== '0x') {
          console.log('新部署合约地址:', receipt.contractAddress);
        }
      }
    }
    
  • 自建链上索引服务
    如果需要长期批量监控,可以自己部署链上索引工具(比如Erigon的索引模块、本地Subgraph服务),这类工具会实时同步以太坊全链数据,并自动标记合约部署记录,你可以直接查询本地索引库获取最新合约,无需每次遍历区块。

  • 实时监听新区块推送
    通过节点的eth_subscribe接口订阅newHeads事件,每当有新区块生成就自动触发合约解析逻辑,能第一时间获取最新部署的合约,适合实时告警或动态监控场景。

内容的提问来源于stack exchange,提问作者JR_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 21:06:06