2

请您帮忙:当我在我的 nodejs 控制台中运行以下命令时,我收到以下错误:(我在 Windows 10 上使用 web3 0.20.0)

web3.eth.getAccounts().then(e => console.log(e));

错误如下:

TypeError: Cannot read property 'then' of undefined
> TypeError: callback is not a function
at c:\Users\Salam Khanji\Ether\node_modules\web3\lib\web3\property.js:119:13
at c:\Users\Salam Khanji\Ether\node_modules\web3\lib\web3\requestmanager.js:89:9
at XMLHttpRequest.request.onreadystatechange (c:\Users\Salam Khanji\Ether\node_modules\web3\lib\web3\httpprovider.js:119:7)
at XMLHttpRequestEventTarget.dispatchEvent (c:\Users\Salam Khanji\Ether\node_modules\web3\node_modules\xhr2\lib\xhr2.js:64:18)
at XMLHttpRequest._setReadyState (c:\Users\Salam Khanji\Ether\node_modules\web3\node_modules\xhr2\lib\xhr2.js:354:12)
at XMLHttpRequest._onHttpResponseEnd (c:\Users\Salam Khanji\Ether\node_modules\web3\node_modules\xhr2\lib\xhr2.js:509:12)

>

4

1 回答 1

0

我猜他们可能是以下问题之一

  1. 旧版本的 web3js,可能不支持 Promise
  2. 检查你的 geth 命令,你可能没有启用 rpc,要在 web3js 中访问 geth,那么你需要启用。如果你没有添加 --rpc 你不能访问

geth --rpc --rpccorsdomain "*" --rpcapi eth,net,web3,personal,miner,txpool,debug --datadir ~/Desktop/local-network/

  1. 如果您想知道所有帐户,请尝试用下面的行替换您的行。

var accounts = web3.eth.accounts;//Will return all the accounts.

于 2018-02-05T06:08:29.360 回答