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: trueis required.faucetsis required, but can be an empty array if there is no faucet.
For mainNet chains:
testnetcan be set tofalsebut is not required.faucetsshould not be added.
For any chain:
wsis required, but can be empty if there is no WebSocket RPC.iconshould have the same extension as the logo added to @Amichain/chain-icons.
Example:1.svgfor 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.