All evm chains info in a single place!
npm i @amichain/chainlist
const chainlist = require('@amichain/chainlist');
import chainlist from '@amichain/chainlist';
<script src="https://cdn.staticdelivr.com/npm/@amichain/chainlist@0.1.0/dist/chainlist.umd.cjs"></script>
<script>
// You can access to `chainlist` here
console.log(chainlist.getChain(1)); // Example
</script>
In this example, we are using staticdelivr CDN service (jsdelivr.net doesn't handle .cjs mimeType properly).
const allChains = chainlist.chains();
(The chain ID can be a number or a string)
const ethereum = chainlist.getChain(1);
(The chain ID can be a number or a string)
const ethereumIconUrl = chainlist.getIconUrl(1);
This will return a generated URL from jsdelivr.net
that make it able to use it regardless of raw GitHub cors policy.
Please follow these instructions to add or update a chain:
- Prepare your logo:
Prefer the SVG format and optimize the file with svgomg.net. - Fork the @Amichain/chain-icons repository and add your logo to the folder corresponding to your file extension.
- Create a pull request.
-
Prepare a JSON file containing your chain data:
{ "chainId": 1, "name": "Your chain name", "rpc": ["https://rpc.yourchain.com"], "ws": ["wss://optional-websocket-rpc.yourchain.com"], "explorers": [ { "name": "YourChain Explorer Name", "url": "https://explorer.yourchain.com" } ], "nativeCurrency": { "name": "YourCoin", "symbol": "SYMBOL", "decimals": 18 }, "website": "https://yourchain.com", "icon": "<your-chain-id>.<your-logo-extension>", "testnet": true, "faucets": ["http://optional-faucet-url.yourchain.com"] }
For testnet chains:
testnet: true
is required.faucets
is required, but can be an empty array if there is no faucet.
For mainNet chains:
testnet
can be set tofalse
but is not required.faucets
should not be added.
For any chain:
ws
is required, but can be empty if there is no WebSocket RPC.icon
should have the same extension as the logo added to @Amichain/chain-icons.
Example:1.svg
for ethereum mainNet.- All other fields are required.
-
Fork the @Amichain/chainlist repository and add your json file to
/src/chains/<your-chain-id>.json
. -
Create a pull request.