我有合同要求输入 bytes32,所以我需要将地址转换为 bytes32,但在 web3 中没有看到这个方法。
以太坊地址是 20 个字节,因此您将十六进制地址转换为字节,然后将其从左侧填充为 32 个字节。
web3.utils.padLeft(web3.utils.hexToBytes(yourAddressString), 32);
如果您阅读 PadLeft 文档,您会发现不需要进行任何转换。你只需要做一个
web3.utils.padLeft(address, 64
)。鉴于您需要 bytes32,即总共 64 个十六进制数字,您只需要用 0 填充差异即可获得 64 个数字。