Fork: 5742 Star: 8220 (更新于 2024-05-16 07:01:14)

license: MIT

Language: Kotlin .

provides metadata for chains

官方网址 GitHub网址


EVM-based Chains

The source data is in _data/chains. Each chain has its own file with the filename being the CAIP-2 representation as name and .json as extension.


  "name": "Ethereum Mainnet",
  "chain": "ETH",
  "rpc": [
  "faucets": [],
  "nativeCurrency": {
    "name": "Ether",
    "symbol": "ETH",
    "decimals": 18
  "features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
  "infoURL": "",
  "shortName": "eth",
  "chainId": 1,
  "networkId": 1,
  "icon": "ethereum",
  "explorers": [{
    "name": "etherscan",
    "url": "",
    "icon": "etherscan",
    "standard": "EIP3091"

when an icon is used in either the network or an explorer there must be a json in _data/icons with the name used (e.g. in the above example there must be a ethereum.json and a etherscan.json in there) - the icon jsons look like this:

      "url": "ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt",
      "width": 1000,
      "height": 1628,
      "format": "png"


  • the URL must be an IPFS url that is publicly resolvable
  • width and height are positive integers
  • format is either "png", "jpg" or "svg"

If the chain is an L2 or a shard of another chain you can link it to the parent chain like this:

  "parent": {
   "type" : "L2",
   "chain": "eip155-1",
   "bridges": [ {"url":""} ]

where you need to specify type 2 and the reference to an existing parent. The field about bridges is optional.

You can add a status field e.g. to deprecate (via status deprecated) a chain (a chain should never be deleted as this would open the door to replay attacks) Other options for status are active (default) or incubating


There are also aggregated json files with all chains automatically assembled:


  • the shortName and name MUST be unique - see e.g. EIP-3770 on why
  • if referencing a parent chain - the chain MUST exist in the repo
  • if using a IPFS CID for the icon - the CID MUST be retrievable via ipfs get - not only through some gateway (means please do not use pinata for now)
  • for more constraints you can look into the CI

Collision management

We cannot allow more than one chain with the same chainID - this would open the door to replay attacks. The first pull request gets the chainID assigned. When creating a chain we can expect that you read EIP155 which states this repo. All pull requests trying to replace a chainID because they think their chain is better than the other will be closed. The only way to get a chain reassigned is when the old chain gets deprecated. This can e.g. be used for testnets that are short-lived. But then you will get the redFlag "reusedChaiID" that should be displayed in clients to warn them about the dangers here.

Getting your PR merged

before PR is submitted

Before submitting a PR, please verify that checks pass with:

$ ./gradlew run

9 actionable tasks: 9 executed

Also please run the prettier to format your json according to the style defined here e.g. run

npx prettier --write _data/*/*.json

Once PR is submitted

  • Make sure CI is green. There will likely be no review when the CI is red.
  • When making changes that fix the CI problems - please re-request a review - otherwise it is too much work to track such changes with so many PRs daily






  • EIP-155
  • EIP-3014
  • EIP-3770
  • EIP-4527

Listing sites


最近版本更新:(数据更新于 2024-05-18 13:56:03)


chainid, chains, eip155, ethereum, evm, hacktoberfest

ethereum-lists/chains同语言 Kotlin最近更新仓库

2024-05-26 20:03:27 XDABlackMesa123/KnoxPatch

2024-05-22 23:55:07 wordpress-mobile/WordPress-Android

2024-05-22 01:31:52 yairm210/Unciv

2024-05-21 18:50:57 JetBrains/kotlin

2024-05-20 01:38:16 Foso/Ktorfit

2024-05-17 12:20:56 simondankelmann/Bluetooth-LE-Spam