在调用 Dapp 的时候,将多个变量合并压缩到一个 256 位的数据里面
比如:我现在要传 8 个 uint8 的参数到 solidity 的一个方法,我想要把这 8 个数据,放到 1 个 256 位的数据中传过去,然后在 solidity 中拆分开。
希望能给个简单的示例。
变量合并可以直接转为 16进制字符串,然后字符串拼接:
let hexValue = value.toString(16);
这样就转化为bytes 字节数组。
在 solidity 中 bytes 每个字节就是uint8, 可以直接转换:
uint8(exData[i])
如果是多个直接拼接的数字,可以: uint8(exData[i]) * 256 + uint8(exData[i+1]);
uint8(exData[i]) * 256 + uint8(exData[i+1]);