web3.eth.accounts.create和web3.eth.personal.newAccount均无效

时间:2019-01-30 09:24:39

标签: web3 geth

我已经知道accounts.create()personal.newAccount()之间有什么区别。

我的Geth设置是这样的,

--rpcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3"

web3.eth.getBalance()运行得很好。

但是web3.eth.accounts.create()web3.eth.personal.newAccount()都不起作用。

没有任何错误消息。只是没有反应。

在这种情况下我该怎么办?请帮助我。

这是示例代码。

const Web3 = require("web3");
const web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")); // Geth RPC is working.
...
const password = "test1234";
const account = web3.eth.personal.newAccount(password); // not work.
console.log(account); // not work. not print anything.

1 个答案:

答案 0 :(得分:0)

我假设您正在使用web3-1.x.x(如果不告诉我的话)。

答案:

web3.eth.personal.newAccount返回Promise<string>,你需要为await,或.then它 - 在这里文件https://web3js.readthedocs.io/en/1.0/web3-eth-personal.html

const Web3 = require("web3");
const web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")); // Geth RPC is working.
...
const password = "test1234";
web3.eth.personal.newAccount(password)
                           .then(account => console.log(account));

web3.eth.accounts.create()也是一个承诺

web3.eth.accounts.create()
                 .then(console.log);

希望这会有所帮助