ethereum - MetaMask 地址与以太坊格式地址
问题描述
当我使用 web3 从智能合约中获取以太坊地址时,它看起来像这样:
0xD034739C2aE807C70Cd703092b946f62a49509D1
但是当我从 MetaMask 得到它时,它看起来像这样:
0xd034739c2ae807c70cd703092b946f62a49509d1
我确实理解这些基本相同,但是:
1) MetaMask 地址是否总是小写?2) 有没有一种简单的方法可以将 MetaMask 地址转换为以太坊格式?3)为什么会有差异,MM不使用以太坊格式的想法是什么?
解决方案
以太坊地址实际上不区分大小写。所以两者都是正确的。但是你称之为“以太坊地址”的地址只是一个包含校验和的地址。您可以在eip-55 “混合大小写校验和地址编码”中阅读更多相关信息,MetaMask 是完全支持混合大小写校验和地址的钱包之一。
对于第二个问题,您可以使用web3.utils.toChecksumAddress('0xd034739c2ae807c70cd703092b946f62a49509d1');
为了将其转换为校验和地址。
推荐阅读
- flutter - 如何从 flutter_reactive_ble 示例中获取 deviceServices
- css - CSS:可变文本中的部分省略号
- reactjs - 字符串联合的打字稿并发症
- php - 当服务器发送事件运行时,PHP Code Igniter 服务器对某些请求没有响应
- javascript - 在对象的对象数组中设置相同的键
- node.js - “ORA-00972:标识符太长”使用 Node.js 插入 Oracle BLOB
- netlify - FetchError:网络超时:https://db.fauna.com/
- ruby-on-rails - Rails simple_form_for 更新操作路由错误 [POST] with id
- azure - 在 Azure Runbook 中轻松搜索作业
- laravel - 拉拉贡 |