Contract-Deployment
使用 nonce 生成合約地址
美好的一天,我正在研究創建合約地址的方式,並且該過程似乎是非常確定的(取決於隨機數)。有沒有辦法獲取尚未為特定隨機數部署的合約的地址?就像是:
contractAddress = getAddress(nonce1, data, privateKey)
我知道曾經有提供此類工具的 pyethereum 庫,但很長時間沒有更新,我希望使用更活躍的工具。
一如既往,感謝您的幫助!
其他人可以添加其他答案,但 pyethereum 仍然處於活動狀態,並且此類型程式碼不會更改:
def mk_contract_address(sender, nonce): return sha3(rlp.encode([normalize_address(sender), nonce]))[12:]
不需要私鑰,只需要發件人地址。但是,如果
sender
OP 的 未知,privateKey
則sender
通過以下方式計算:def privtoaddr(x, extended=False): if len(x) > 32: x = decode_hex(x) o = sha3(privtopub(x)[1:])[12:] return add_checksum(o) if extended else o