我已经知道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.
答案 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);
希望这会有所帮助