我正在尝试调用带有3个参数的Solidity合同的函数。 这是我的合同功能的样子。
function test(string memory a, string memory b, string memory c) public{
// Does something here (alters the data in the contract)
}
我现在正在尝试使用Web3 1.2.1版向该函数发送事务,但是遇到错误。
instance = await new web3.eth.Contract(JSON.parse(abi), address);
instance.methods.test("hello_a","hello_b","hello_c").sendTransaction({from:account});
代码位于async()块中,并且传递的所有参数均正确。但是我收到一个错误消息,说sendTransaction不是测试的功能。
我在这里错过了什么?
答案 0 :(得分:1)
您应该使用send
而不是sendTransaction
instance.methods.test("hello_a","hello_b","hello_c").send({from:account});
您可以阅读有关可用方法there
的更多信息