【发布时间】:2018-07-25 07:11:39
【问题描述】:
我尝试在私有网络中通过 RPC 创建一个 eth 帐户。
到目前为止我所做的是:
- 启动 geth 节点并创建专用网络。
- 使用 web3 1.0.0、typescript 创建简单的 javascript 程序
- 运行并获得如下结果,但未创建帐户
代码:
const result = await web3.eth.personal.unlockAccount(senderId, senderPassword, duration)
if (result === true) {
// const newAccountResult = await web3.eth.personal.newAccount('password')
const newAccountResult = await web3.eth.accounts.create('user01')
console.log(newAccountResult)
}
结果:
web3.eth.accounts.create 返回以下结果
{ address: '0xf10105f862C1cB10550F4EeB38697308c7A290Fc',
privateKey: '0x5cba6b397fc8a96d006988388553ec17a000f7da9783d906979a2e1c482e7fcb',
signTransaction: [Function: signTransaction],
sign: [Function: sign],
encrypt: [Function: encrypt] }
但web3.eth.getAccounts 方法只返回 1 个帐户。
[ '0xaf0034c41928Db81E570061c58c249f61CFF57f2' ]
似乎web3.eth.accounts.create 方法已成功,因为结果包括帐户地址和私钥。
但我不明白为什么web3.eth.getAccounts 方法不包括创建的帐户。
我也通过控制台检查了geth,结果是一样的。
> eth.accounts
["0xaf0034c41928db81e570061c58c249f61cff57f2"]
而eth.personal.newAccount 不起作用。
web3.eth.accounts.create之后我需要做什么吗?
感谢您的帮助。
【问题讨论】: