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

Base Chain合约地址计算咨询:两种算法结果与实际不符

合约地址计算问题(Base Chain)

我尝试了两种方法计算Base Chain上的合约地址,且已在Base Chain部署合约验证结果,但两种方法返回的地址均与实际地址不符:

第一种方法

代码实现:

def predict_contract_address(deployer_address, nonce):
    encoded = Web3.solidity_keccak(['address', 'uint256'], [deployer_address, nonce])
    contract_address = Web3.to_checksum_address(encoded[-20:])
    return contract_address

该方法返回地址:0xc989DF16dc2026D73f018158cEad7AAf3508Dd3e,与实际地址不符。

第二种方法

代码实现:

def pca(deployer_address, nonce):
    return to_checksum_address(keccak(rlp.encode([deployer_address, nonce]))[-20:])

该方法返回地址:0xdEca8F8D505Ba2BF3B9d4120f66B3Ec9e49393fb,同样与实际地址不符。

补充信息

  • 两种计算均使用nonce值为0
  • 实际合约部署交易哈希:0x1c2e239387c9e6609f1e82900080ab9606e42d5c33074d1e95431817698152e0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:52:03