我正在编写一个与以太坊网络通信的Angular Webapp。在应用程序中,我有以下方法:
async onSubmit() {
const accounts = await this.web3.eth.getAccounts();
this.message = 'Waiting on transaction success...';
await this._lottery.methods.enter().send({
from: accounts[0],
value: this.web3.utils.toWei(this.value, 'ether')
});
this.message = 'You have been entered!';
}
该方法在表单提交事件上触发。调用此方法后,合同状态会更新,但是它有点卡在await
行中,一旦返回,它就不会移动到以下行。
有趣的是,当我从网络(即call
而不是send
进行读取时,我没有遇到这个问题。
P.S。我正在Rinkeby网络上使用web3 v1.0.0。
答案 0 :(得分:0)
事实证明,问题出在Metamask chrome扩展程序。将Metamask扩展回滚到v4.11似乎可以解决此问题。