soursecoder
2018-09-21 04:42
采纳率: 100%
浏览 1.1k

web3.js调用接口时out of gas收不到消息的问题

智能合约部署在https://ropsten.etherscan.io上面,可以查询到ou if gas,
但是交易时并没有收到回调,也没有报错,这个有什么解决方法吗?还是我写错了,
如果有正确的调用方法希望能够告知。

 this._contract.buyXname(code, msg, (err, res) => {

 ....

 })
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dabocaiqq 2018-09-22 13:31
    已采纳
    打赏 评论
  • soursecoder 2018-09-26 09:12

    感谢楼上的回答,不过我已经找到了一种不是很好,但是可行的方法。

     this._contract.buyXname(code, msg, (err, res) => {
    
     ....
    
     })
    
    

    在上诉代码中, res其实是交易的hash值,我可以通过这个hash值去获取交易的状态(采用轮询的方式):

     customerSDK.web3.eth.getTransactionReceipt(hash, (err: Error, receipt: Web3.TransactionReceipt) => {
         ...
    
     })
    

    这里如果receipt为null,说明还是pending状态,如果receipt == '0x0'则,说明交易失败,如果receipt == '0x1',则说明交易成功

    打赏 评论

相关推荐 更多相似问题