作者:g我爱他偶买噶 | 来源:互联网 | 2023-01-20 13:22
我正在构建一个为用户创建钱包的应用程序.一个选项是web3.py中的web3.personal API,它有一个newAccount('passphrase')
方法.该方法仅返回已创建帐户的地址.
我正在寻找的是一个类似于web3.js中的eth.accounts API的函数,它有一个create([entropy])
方法.它返回一个带有"地址"," 私钥 "和其他详细信息的帐户对象.
我对以太坊和这种开发实践的想法很新,所以很乐意从你那里得到一些帮助.先感谢您.
1> carver..:
编辑:我删除了已弃用的pyethereum
解决方案,替换为更好的解决方案eth-account
.
建立
在shell: pip install eth_account
生成帐户
该eth-account
库将帮助您创建具有附加地址的私钥:
>>> from eth_account import Account
>>> acct = Account.create('KEYSMASH FJAFJKLDSKF7JKFDJ 1530')
>>> acct.privateKey
b"\xb2\}\xb3\x1f\xee\xd9\x12''\xbf\t9\xdcv\x9a\x96VK-\xe4\xc4rm\x03[6\xec\xf1\xe5\xb3d"
>>> acct.address
'0x5ce9454909639D2D17A3F753ce7d93fa0b9aB12E'
在上面添加一些自己的随机性有助于解决潜在的限制os.urandom
,这取决于您的Python版本和操作系统.显然使用'KEYSMASH...'
与上面不同的随机性串.
有关使用私钥的更多信息,请参阅此文档以及常见示例,例如签署事务.
作为附注,您可以在 ethereum.stackexchange.com 找到更多支持