provides metadata for chains
Go to file
ranjith-edx 21068dfb45
add edexa chain (#2046)
* added edexa chain

* updated ipfs

* prettier done

* done prettier

* explorere removed slash at end

* explorere removed slash at end

* removed new line

* removed new line icons

* removed new line icons

* removed new line icons

* Revert "removed new line icons"

This reverts commit 9266700e77024d3d21863c030419b15663aacc5f.

* Revert "removed new line icons"

This reverts commit d34919aa3df4757eb23da2c6ed0403e50558b9ec.

* runned prettier

* runned prettier

* added image icons download

* name conversion edeXa

* added faucet

* added faucet

* added icon variable

* png to PNG

* png to PNG

* size change

* size change

* name jpg

* png updated

Co-authored-by: ligi <ligi@ligi.de>
2022-12-27 06:26:07 +01:00
_data add edexa chain (#2046) 2022-12-27 06:26:07 +01:00
.ci Add test stage 2020-11-13 04:19:30 +01:00
.github Revert back to previous Prettier implementation (#1675) 2022-09-30 21:09:21 +02:00
gradle/wrapper Use gradle 7.6 2022-11-27 10:16:17 +01:00
model Use ksp for kotlin 1.7.22 2022-11-30 11:31:51 +01:00
processor Check for Strings that are blank or have leading/trailing spaces 2022-12-12 02:35:54 +01:00
tools Revert claim to Ganache default network and port (#1826) 2022-12-05 03:05:55 +01:00
.gitignore Generate Icon list JSON in build (#1524) 2022-08-31 01:58:16 +02:00
.prettierignore Added Prettier and formatted existing JSON files (#1501) 2022-08-27 19:20:08 +02:00
.prettierrc.json Added Prettier and formatted existing JSON files (#1501) 2022-08-27 19:20:08 +02:00
build.gradle Bump KOTLIN_VERSION from 1.7.21 to 1.7.22 (#1954) 2022-11-29 02:16:00 +01:00
gradlew Use gradle 7.6 2022-11-27 10:16:17 +01:00
gradlew.bat Use gradle 7.6 2022-11-27 10:16:17 +01:00
LICENSE Initial commit 2018-12-20 18:53:11 +01:00
maintainer_checklist.md Update maintainer_checklist.md 2022-11-03 22:41:59 +01:00
README.md Add chainlist.wtf 2022-11-27 17:55:41 +01:00
settings.gradle.kts Split out the model to extra module 2021-12-30 07:38:32 +01:00

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 ans extension.

Example

{
  "name": "Ethereum Mainnet",
  "chain": "ETH",
  "rpc": [
    "https://mainnet.infura.io/v3/${INFURA_API_KEY}",
    "https://api.mycryptoapi.com/eth"
  ],
  "faucets": [],
  "nativeCurrency": {
    "name": "Ether",
    "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"
  }]
}

when an icon is used in either the network or a 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"
    }
]

where:

  • the URL must be a IPFS url that is publicly resolveable
  • 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":"https://bridge.arbitrum.io"} ]
  }
}

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 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

Aggregation

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

Constraints

  • 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

If different chains have the same chainID we list the one with the oldest genesis.

Usages

Wallets

Explorers

EIPs

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

Listing sites

Other