基于 EVM 的链
源数据位于 _data/chains 目录中。每条链都有自己的文件,文件名是 CAIP-2 表示,扩展名为 .json。
示例
{
"name": "以太坊主网",
"chain": "ETH",
"rpc": [
"https://mainnet.infura.io/v3/${INFURA_API_KEY}",
"https://api.mycryptoapi.com/eth"
],
"faucets": [],
"nativeCurrency": {
"name": "以太币",
"symbol": "ETH",
"decimals": 18
},
"features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
"infoURL": "https://ethereum.org",
"shortName": "eth",
"chainId": 1,
"networkId": 1,
"icon": "ethereum",
"explorers": [{
"name": "etherscan",
"url": "https://etherscan.io",
"icon": "etherscan",
"standard": "EIP3091"
}]
}
当网络或浏览器使用图标时,_data/icons 中必须有一个与使用的名称相同的 json 文件(例如,在上面的示例中必须有 ethereum.json
和 etherscan.json
)- 图标 json 文件如下所示:
[
{
"url": "ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt",
"width": 1000,
"height": 1628,
"format": "png"
}
]
其中:
- URL 必须是可公开解析的 IPFS URL
- 宽度和高度是正整数
- 格式为 "png"、"jpg" 或 "svg"
如果链是另一条链的 L2 或分片,您可以通过以下方式将其链接到父链:
{
...
"parent": {
"type" : "L2",
"chain": "eip155-1",
"bridges": [ {"url":"https://bridge.arbitrum.io"} ]
}
}
您需要指定类型 2 和对现有父链的引用。关于桥的字段是可选的。
您可以添加 status
字段,例如通过状态 deprecated
弃用一条链(永远不应删除链,因为这会为重放攻击打开大门)
status
的其他选项是 active
(默认)或 incubating
聚合
还有自动组装所有链的聚合 json 文件:
- https://chainid.network/chains.json
- https://chainid.network/chains_mini.json (精简版 - 字段更少,文件更小)
约束条件
- shortName 和 name 必须是唯一的 - 参见 EIP-3770 了解原因
- 如果引用父链 - 该链必须存在于存储库中
- 如果使用 IPFS CID 作为图标 - 必须可以通过
ipfs get
检索 CID - 不仅通过某些网关(意味着目前请不要使用 pinata) - 更多约束可以查看 CI
冲突管理
我们不允许多个链使用相同的 chainID - 这会为重放攻击打开大门。 首个拉取请求将被分配 chainID。创建链时,我们期望您阅读 EIP155,该规范指定了此存储库。 所有试图替换 chainID 的拉取请求,因为他们认为自己的链比其他链更好,都将被关闭。 重新分配链的唯一方法是旧链被弃用。这可以用于短期测试网等。但是您将获得 "reusedChaiID" 红旗,应在客户端中显示以警告用户此处的危险。
使您的 PR 被合并
提交 PR 之前
在提交 PR 之前,请验证检查是否通过:
$ ./gradlew run
BUILD SUCCESSFUL in 7s
9 actionable tasks: 9 executed
另外,请运行 prettier 来格式化您的 json,以符合此处定义的样式 例如运行
npx prettier --write _data/*/*.json
提交 PR 后
- 确保 CI 为绿色。当 CI 为红色时,可能不会进行审核。
- 进行解决 CI 问题的更改时 - 请重新请求审核 - 否则跟踪如此多的 PR 每天的此类更改工作量太大
用途
工具
浏览器
钱包
EIP
- EIP-155
- EIP-3014
- EIP-3770
- EIP-4527
列表网站
- chainid.network / chainlist.wtf
- chainlist.org
- Chainlink 文档
- dRPC Chainlist - 负载均衡的公共节点
- eth-chains
- EVM-BOX
- evmchain.info
- evmchainlist.org
- networks.vercel.app
- Wagmi 兼容的链配置
其他
-
您的项目 - 联系我们将其添加到此处!