我正在使用 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);
}