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

如何从以太坊的合约创建交易中获取对应合约地址?

如何通过以太坊合约创建交易获取对应的合约地址

你可以通过以下两种可靠方式找到合约地址:

1. 直接查询交易收据

合约创建交易(To字段为0x0的交易)执行完成后,会生成包含合约地址的交易收据,其中的contractAddress字段就是目标地址:

  • 可通过以太坊节点的JSON-RPC接口调用eth_getTransactionReceipt方法,传入目标交易哈希获取:
    curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x目标交易哈希"],"id":1}' https://你的以太坊节点地址
    
  • 主流区块链浏览器也会直接展示合约创建交易对应的合约地址,搜索交易哈希后,在详情页即可找到该字段。

2. 手动计算合约地址

以太坊合约地址由交易发起者地址(From字段)和发起者的交易nonce值通过Keccak-256哈希算法生成,步骤如下:

  • 获取该交易的From地址(合约创建者的钱包地址)
  • 获取发起者发起这笔交易时的nonce值(注意:nonce从0开始计数,代表发起者已完成的交易总数,并非交易在区块中的序号)
  • 对[创建者地址, nonce]进行RLP编码,用Keccak-256哈希后取结果的后20字节,加上0x前缀即为合约地址
  • 计算公式:
    合约地址 = 0x + keccak256(RLP编码([创建者地址, nonce]))[12:]
    

内容的提问来源于stack exchange,提问作者M. Akar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:10:05