当app.js调用contract 的函数时,如果出现如下错误:
Error: invalid address
at v (web3.min.js:2)
at l (web3.min.js:2)
at web3.min.js:2
at Array.map ()
at i.formatInput (web3.min.js:2)
at i.toPayload (web3.min.js:2)
at r.e [as sendTransaction] (web3.min.js:2)
at c.sendTransaction (web3.min.js:2)
at c.execute (web3.min.js:2)
at truffle-contract.js:190
一般情况是缺少
web3.eth.defaultAccount = web3.eth.accounts[0];
在进行任何关于web3的操作之前需要设置 defaultAccount。
使用react-truffle,可以这样写:
this.state.web3.eth.defaultAccount = this.state.web3.eth.accounts[0];
–希望对大家有帮助。mark
当使用web3.js在React-Truffle环境中调用智能合约函数遇到'Error: invalid address'的问题,通常是因为未设置默认账户。解决方案是在执行任何web3操作前设置web3.eth.defaultAccount为web3.eth.accounts[0]。例如,在React中可以使用`this.state.web3.eth.defaultAccount = this.state.web3.eth.accounts[0];`来确保正确设置默认账户。
4723

被折叠的 条评论
为什么被折叠?



