以太坊智能合约bytes参数解析

最近测试以太坊智能合约的时候,发现一个现象,智能合约函数有bytes类型参数的时候,首先会有个奇怪的数据。这个奇怪的数据似乎和bytes参数所在的位置有关。

下面是第一个参数是bytes类型的函数调用时候的参数。

以太坊智能合约bytes参数解析_第1张图片

 下面是第二个参数是bytes类型的函数调用时候的参数。

以太坊智能合约bytes参数解析_第2张图片

下面是第三个参数是bytes类型的函数调用时候的参数

以太坊智能合约bytes参数解析_第3张图片

从第一个参数的0x20到第二个参数的0x40到第三个参数的0x60,这个值到底有什么用处呢?

在下面这篇文章里终于找到了答案:https://solidity-cn.readthedocs.io/zh/develop/abi-spec.html

原来bytes是动态数据类型,在参数列表里有多个动态类型参数的时候这个最开始的参数就有用了,它表示动态类型参数真实数据的起始位置。

你可能感兴趣的:(FISCO,BCOS,以太坊技术研究)