为什么连接钱包返回的地址和单独get的地址,大小写不一样

ethereum.request({ method: 'eth_requestAccounts' }).then((accounts) => { }); 连接钱包时候,这个方法返回的钱包地址是全小写的。

await this.web3.eth.getAccounts(); 单独用这个方法获取是有大写和小写组合的钱包地址。

因为想首次弹窗连接钱包,直接用连接钱包返回的地址,就省一次额外单独请求的步骤。 有没办法返回也大小写组合的,还是就只能这样。

请先 登录 后评论

最佳答案 2023-02-22 13:59

以太坊地址本身大小写不敏感的,如果有特殊需要可以使用 web3.utils.toChecksumAddress 做转换。


web3.utils.toChecksumAddress 将给定的大写或小写以太坊地址转换为校验和地址。 调用: web3.utils.toChecksumAddress(address)

参数: address - String: 地址字符串

返回值: String: The checksum address.

示例代码:

web3.utils.toChecksumAddress('0xc1912fee45d61c87cc5ea59dae31190fffff2323');
> "0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d"
请先 登录 后评论

其它 0 个回答

相似问题