Solidity

app.vote(1, {來自:web3.eth.accounts000}) 不工作

  • April 11, 2022

我正在關注 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獲取地址.

引用自:https://ethereum.stackexchange.com/questions/76511