Solidity
app.vote(1, {來自:web3.eth.accounts000}) 不工作
我正在關注 Dapp 大學關於建構選舉智能合約的教程。當我在控制台中執行此命令時:
app.vote(1, {from: web3.eth.accounts[0] })
我收到以下錯誤:
Thrown: <Error: The send transaction "from" field must be defined!
我知道“web3.eth.accounts”已經貶值了,我嘗試了幾種方法來解決它,但到目前為止還沒有運氣。
vote
該方法需要多少個參數?在web3.js
智能合約方法中的參數首先被解釋,最後一個參數預計是交易選項,例如:{ from, gas, gasPrice }
如果您提供的參數數量與預期不同,
web3.js
將嘗試from
從不存在的參數中查找該欄位。此外,您可以嘗試將此行添加到您的程式碼中,以確保它仍然有效並且尚未被刪除。
console.log('Account 0', web3.eth.accounts[0])
該錯誤是因為您通過了 account=
''
.(在 from 中:)我認為是您的 web3 版本(您可以在控制台中使用“web3.version”檢查版本嗎)並且使用 web3 1.xx 您可以嘗試:web3.currentProvider.selectedAddress
獲取地址.