solidity 如何使用元组(嵌套 abi)制作函数签名?

How solidity make function signature with tuple(nested abi)?

struct Test {
  uint ui;
  string s;
}
function test(Test t) public {
  emit Log(t.ui, t.s);
}

我对ABI有一些了解。我与实验性 ABIEncoderV2 选项签订了这份合同。总之,这个函数的签名是0x6056f4cc,我在操作码中找到了这个值。我用 sha3 尝试了一些 case test(uint256,string), test(tuple(uint256,string)), test(tuple), test(tuple[uint256,string])) ... 但没有人做出正确的签名。 Solidity 如何使用元组进行函数签名?

你接近第一个了。实际编码是从 test((uint256,string)).

完成的
bytes4(keccak256("test((uint256,string))"): 6056f4cc