Alert Source Discuss
⚠️ Draft Standards Track: ERC

ERC-6821: 支持 Web3 URL 的 ENS 名称

从 ENS 名称到 Web3 URL 中合约地址的映射

Authors Qi Zhou (@qizhou), Qiang Zhu (@qzhodl)
Created 2023-04-02
Discussion Link https://ethereum-magicians.org/t/eip-6821-support-ens-name-for-web3-url/13654
Requires EIP-137, EIP-634, EIP-3770, EIP-4804

摘要

该标准定义了以太坊名称服务(ENS)名称到 ERC-4804 的以太坊地址的映射。

动机

ERC-4804 定义了一个 web3:// 方案 RFC 2396 URI,可以通过合约地址或者来自名称服务的名称来调用智能合约。如果指定了名称,则该标准规定了一种从名称解析合约地址的方法。

规范

给定从 ERC-4804 中定义的 web3:// URI 中的 contractNamechainid,该协议将使用以下步骤找到合约的地址:

  1. chainid 链上的 ENS 解析器上查找 contentcontract 文本记录。如果该链没有 ENS 或者该记录是无效的 ETH 地址,则返回错误。
  2. 如果 contentcontract 文本记录不存在,则该协议将使用来自 ERC-137name 解析地址。
  3. 如果 name 的解析地址是零地址,则返回“未找到地址”错误。

请注意,contentcontract 文本记录可能会返回一个带有 0x 前缀的十六进制以太坊地址或一个 ERC-3770 链特定的地址。如果该地址是 ERC-3770 链特定的地址,则调用消息所使用的 chainid 将被 ERC-3770 地址指定的 chainid 覆盖。

理由

该标准使用带有 ERC-3770 链特定地址的 contentcontract 文本记录,而不是 contenthash,以便该记录是人类可读的 - 这是 ERC-4804 的一个设计原则。此外,我们可以使用文本记录来添加诸如生存时间(TTL)之类的附加字段。

安全考虑

未发现任何安全问题。

版权

通过 CC0 放弃版权和相关权利。

Citation

Please cite this document as:

Qi Zhou (@qizhou), Qiang Zhu (@qzhodl), "ERC-6821: 支持 Web3 URL 的 ENS 名称 [DRAFT]," Ethereum Improvement Proposals, no. 6821, April 2023. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-6821.