Web3:发送交易时卡在等待状态
Web3: Stuck at await When Sending Transactions
我正在编写一个 Angular 与以太坊网络通信的网络应用程序。在应用程序中,我有以下方法:
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。
原来问题来自 Metamask chrome 扩展。将 Metamask 扩展回滚到 v4.11 似乎可以解决这个问题。
我正在编写一个 Angular 与以太坊网络通信的网络应用程序。在应用程序中,我有以下方法:
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。
原来问题来自 Metamask chrome 扩展。将 Metamask 扩展回滚到 v4.11 似乎可以解决这个问题。