@amichain/chainlist
v0.1.6
Published
All evm chains info in a single place!
Downloads
24
Readme
Chainlist library
All evm chains info in a single place!
Install
Using npm
npm i @amichain/chainlist
Import (CommonJS):
const chainlist = require('@amichain/chainlist');Import (Typescript):
import chainlist from '@amichain/chainlist';Vanilla JS (not recommended)
<script src="https://cdn.staticdelivr.com/npm/@amichain/[email protected]/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).
Usage
Get all chains
const allChains = chainlist.chains();Get a single chain
(The chain ID can be a number or a string)
const ethereum = chainlist.getChain(1);Get icon URL for the given chain ID
(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.
Contribute
Please follow these instructions to add or update a chain:
Add your logo
- 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.
Add chain data
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.
