0

我正在使用 Web3 与我的以太坊合约进行交互。问题是我在调用该方法时不能传递多个参数。如果我通过了两个或更多,即使在我的合同中定义了接收两个或更多参数的方法也不起作用。

我已经尝试将所有参数封装在一个对象/数组/等中,没有任何效果。

这工作正常。

  adicionaFatura: function(valor,data,hashF){
    let self = this

    return new Promise((resolve, reject) => {
      self.instance.adicionaFatura(
        hashF,
        {from: window.web3.eth.accounts[0]}
      ).then(exists => {
        resolve(exists)
      }).catch(err => {
        reject(err)
        console.log('erro: ' + err)
      })
    })

这不起作用。

  adicionaFatura: function(valor,data,hashF){
    let self = this

    return new Promise((resolve, reject) => {
      self.instance.adicionaFatura(
        valor,
        data,
        hashF,
        {from: window.web3.eth.accounts[0]}
      ).then(exists => {
        resolve(exists)
      }).catch(err => {
        reject(err)
        console.log('erro: ' + err)
      })
    })

坚固性代码

    function adicionaFatura(uint valor, string memory emitData, bytes32 hash) public {
        require(isMember(msg.sender) == true,"Sender not authorized.");

        Fatura memory myStruct = Fatura({valorTotal:valor, data:emitData, estadoVenda:1});
        KeysFaturas.push(hash);
        transacoes[hash] = myStruct;
        emit nextStage(hash,1);
    }

错误: 确认交易后出错

4

0 回答 0