前端通过sendSignedTransaction发送签名交易同时使用call调用该函数,获取到返回值,但是与实际返回的结果不一致.

//点击事件里面
        let data = contract.methods.betForGame("传入参数").encodeABI();
        // 调用合约,传入参数
        this.contractF(data, this.accounts);
        // 使用call再次调用拿到返回值
        contract.methods
          .betForGame("传入参数")
          .call({ from: this.accounts })
          .then((res, err) => {
            console.log(res);
            //但是这一次获取到的结果与上链后的结果有差异,获取到的参数,返回币数量正确,但是比较大小的结果不一致。
          })
          .catch((err) => {});

//在获取到结果的回调函数再次调用就会失败

web3.eth.sendSignedTransaction(raw, (err, txHash) => {
            console.log("txHash:", err, txHash);
          })
        .on("receipt", console.log)
        .on("error", console.error);
        .then((res, err) => {
        //如果在.on或者.then里面在次调用,不是报错就是重复调用,那么我应该怎么查询到呢
        })
        .catch((res, err) => {
        });
请先 登录 后评论

2 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
合约开发 - 开发工程师
请先 登录 后评论
  • 2 关注
  • 0 收藏,2745 浏览
  • 正趣果上果 提出于 2022-01-24 16:00