如何通过web3将地址类型转换为bytes32?

问题描述 投票:0回答:2

我有合同要求输入 bytes32,所以我需要将地址转换为 bytes32,但在 web3 中没有看到这个方法。

ethereum solidity web3js
2个回答
11
投票

以太坊地址是 20 个字节,因此您将十六进制地址转换为字节,然后将其从左侧填充为 32 个字节。

web3.utils.padLeft(web3.utils.hexToBytes(yourAddressString), 32);

0
投票

如果您阅读 PadLeft 文档,您会发现不需要进行任何转换。你只需要做一个

web3.utils.padLeft(address, 64
)。鉴于您需要 bytes32,即总共 64 个十六进制数字,您只需要用 0 填充差异即可获得 64 个数字。

© www.soinside.com 2019 - 2024. All rights reserved.