我有一个契约,其中有一个函数,它有16个参数,给了我stack too deep错误。因此,我正在考虑使用web3将一个javascript对象传递给smart契约,我将在该方法中对其进行重构。我有两个问题:
发布于 2022-09-01 13:43:57
你可以使用坚固的结构。
struct MyStruct {
uint256 number1;
address address1;
// ...
}
contract MyContract {
function foo(MyStruct memory data) public {
uint256 num1 = data.number1;
address addr1 = data.address1;
// ...
}
}使用web3js,您应该能够像这样调用这个函数:
contract.foo({number1: 123, address1: '0x...'}).send()https://ethereum.stackexchange.com/questions/134789
复制相似问题