A list of EVM-based chains that also allows you to add chains to your favorite Web3 wallet.
Developer toolsKotlin · JavaScriptGitHub @ethereum-listsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
provides metadata for chains
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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.
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 JSON files look like this:
where:
• The URL MUST be publicly resolvable through IPFS
• width and height MUST be positive integers
• format is either "png", "jpg" or "svg"
• size MUST be less than 250kbRead the full README ↗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": [
"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 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 JSON files look like this:
[
{
"url": "ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt",
"width": 1000,
"height": 1628,
"format": "png"
}
]
where:
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 the type 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:
ipfs get - not only through some gateway (means please do not use pinata for now)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 "reusedChainID" that should be displayed in clients to warn them about the dangers here.
Before submitting a PR, please ensure all checks pass by running:
$ ./gradlew run
BUILD SUCCESSFUL in 7s
9 actionable tasks: 9 executed
Additionally, run Prettier to format your JSON according to the style defined here e.g. run
npx prettier --write _data/*/*.json
Your project - contact us to add it here!