Ethereum 元掩码地址与以太坊格式化地址

Ethereum 元掩码地址与以太坊格式化地址,ethereum,web3,metamask,Ethereum,Web3,Metamask,当我使用web3从智能合约中获得以太坊地址时,它看起来如下所示: 0xD034739C2aE807C70Cd703092b946f62a49509D1 0xd034739c2ae807c70cd703092b946f62a49509d1 但当我从MetaMask获得它时,它看起来是这样的: 0xD034739C2aE807C70Cd703092b946f62a49509D1 0xd034739c2ae807c70cd703092b946f62a49509d1 我知道这些基本相同,但: 1

当我使用web3从智能合约中获得以太坊地址时,它看起来如下所示:

0xD034739C2aE807C70Cd703092b946f62a49509D1
0xd034739c2ae807c70cd703092b946f62a49509d1
但当我从MetaMask获得它时,它看起来是这样的:

0xD034739C2aE807C70Cd703092b946f62a49509D1
0xd034739c2ae807c70cd703092b946f62a49509d1
我知道这些基本相同,但:

1元掩码地址是否始终都是小写? 2是否有一种简单的方法将元掩码地址转换为以太坊格式?
3为什么会有差异,MM不使用以太坊格式的想法是什么?

以太坊地址实际上不区分大小写。因此,两者都是正确的。但您称之为以太坊地址的地址只是一个包含校验和的地址。您可以在混合大小写校验和地址编码中了解更多信息,MetaMask是完全支持混合大小写校验和地址的钱包之一

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

以便将其转换为校验和地址