0x5537f99e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000072268656c6c6f2200000000000000000000000000000000000000000000000000
5537f99e是函数名称,它是' setstring' 2268656c6c6f22是该函数的参数,它是' hello',
请解释如何构建以太坊合约的原始数据。我对这些补偿感到困惑。
答案 0 :(得分:2)
您可以在https://solidity.readthedocs.io/en/develop/abi-spec.html
找到参考资料如果您的功能是
function setstring(string string_value) {
}
0x5537f99e
前4个字节的数据派生为签名的ASCII形式的Keccak哈希的前4个字节setstring(string)
0x0000000000000000000000000000000000000000000000000000000000000020
这意味着string_value的数据部分的位置,以参数块开头的字节为单位。在这种情况下,下一个块
0000000000000000000000000000000000000000000000000000000000000007
这意味着您的字符串大小为7. "hello"
2268656c6c6f2200000000000000000000000000000000000000000000000000
以UTF-8编码的"hello"
的内容。