在我的Angular Dapp中,第一个代码中的错误是“ smartContract.at不是函数”。
settingMap(hashRoot : string) {
var smartContract = new window.web3.eth.Contract([contractAbi])
var contract = smartContract.at(contractAddress)
var owner = smartContract.owner
console.log(owner)
但是如果我以这种方式编写代码:
settingMap(hashRoot : string) {
var smartContract = new window.web3.eth.Contract([contractAbi],contractAddress)
var owner = smartContract.owner
console.log(owner)
console.log打印未定义。我该如何解决这个问题?我已经尝试了很多方法,甚至更改了代码行]
"var smartContract = window.web3.eth.contract([contractAbi])"
输入
"var smartContract = new window.web3.eth.Contract([contractAbi])"
如果使用的是web3
版本1.x.x
,则合同实例的机制将如下所示更改:
var smartContract = new web3.eth.Contract(contractAbi, contractAddress);
并且如果不需要挖掘公共方法/变量,则可以调用它们,如下所示:
await smartContract.methods.owner().call();