5 调用 Dapp 将多个参数合并到一个 256 位中发送

在调用 Dapp 的时候,将多个变量合并压缩到一个 256 位的数据里面

比如:我现在要传 8 个 uint8 的参数到 solidity 的一个方法,我想要把这 8 个数据,放到 1 个 256 位的数据中传过去,然后在 solidity 中拆分开。

希望能给个简单的示例。

请先 登录 后评论

最佳答案 2022-05-08 21:25

变量合并可以直接转为 16进制字符串,然后字符串拼接:

let hexValue = value.toString(16);

这样就转化为bytes 字节数组。

在 solidity 中 bytes 每个字节就是uint8, 可以直接转换:

uint8(exData[i])

如果是多个直接拼接的数字,可以: uint8(exData[i]) * 256 + uint8(exData[i+1]);

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,1809 浏览
  • martin 提出于 2022-05-08 01:52