首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nonce生成合同地址

使用nonce生成合同地址
EN

Ethereum用户
提问于 2016-11-02 18:35:54
回答 2查看 2.6K关注 0票数 6

好日子,我在看合同地址的创建方式,这个过程似乎是相当确定的(取决于现在)。是否有一种方法可以获得尚未为特定的当前部署的契约的地址?类似于:

代码语言:javascript
复制
contractAddress = getAddress(nonce1, data, privateKey)

我知道过去有一个提供这种工具的pyethereum库,但是它已经很长时间没有更新了,我希望使用一个更活跃的工具。

一如既往,感谢您的帮助!

EN

回答 2

Ethereum用户

回答已采纳

发布于 2016-11-03 01:29:58

其他人可以添加其他答案,但是pyethereum仍然是活动的,并且这种类型的代码不会改变:

代码语言:javascript
复制
def mk_contract_address(sender, nonce):
    return sha3(rlp.encode([normalize_address(sender), nonce]))[12:]

来自合同的地址是如何计算的?

私钥不需要,只需要发件人地址。但是,如果sender是未知的,则从OP的privateKey中,sender由以下方法计算:

代码语言:javascript
复制
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
票数 5
EN

Ethereum用户

发布于 2018-10-23 17:39:40

在戈朗,使用ethereum/go-ethereum/crypto.CreateAddress

func CreateAddress(creator common.Address, nonce uint64) common.Address

票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/9776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档