首页 > 解决方案 > MetaMask 地址与以太坊格式地址

问题描述

当我使用 web3 从智能合约中获取以太坊地址时,它看起来像这样:

0xD034739C2aE807C70Cd703092b946f62a49509D1

但是当我从 MetaMask 得到它时,它看起来像这样:

0xd034739c2ae807c70cd703092b946f62a49509d1

我确实理解这些基本相同,但是:

1) MetaMask 地址是否总是小写?2) 有没有一种简单的方法可以将 MetaMask 地址转换为以太坊格式?3)为什么会有差异,MM不使用以太坊格式的想法是什么?

标签: ethereumweb3metamask

解决方案


以太坊地址实际上不区分大小写。所以两者都是正确的。但是你称之为“以太坊地址”的地址只是一个包含校验和的地址。您可以在eip-55 “混合大小写校验和地址编码”中阅读更多相关信息,MetaMask 是完全支持混合大小写校验和地址的钱包之一。

对于第二个问题,您可以使用web3.utils.toChecksumAddress('0xd034739c2ae807c70cd703092b946f62a49509d1');

为了将其转换为校验和地址。


推荐阅读