Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pooltogether/evm-chains-extended
provides metadata for networkIDs and chainIDs - but also includes blockExplorerUrls, etc.
https://github.com/pooltogether/evm-chains-extended
Last synced: about 2 months ago
JSON representation
provides metadata for networkIDs and chainIDs - but also includes blockExplorerUrls, etc.
- Host: GitHub
- URL: https://github.com/pooltogether/evm-chains-extended
- Owner: pooltogether
- License: mit
- Created: 2021-03-31T21:31:54.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-08-26T15:45:46.000Z (over 2 years ago)
- Last Synced: 2024-11-09T20:44:14.048Z (about 2 months ago)
- Language: TypeScript
- Size: 620 KB
- Stars: 5
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# evm-chains-extended
Package to query chain data from [ethereum-lists/chains](https://github.com/ethereum-lists/chains) with extended data necessary for EIP3085.
Makes use of Pedro Gomes' [evm-chains](https://github.com/pedrouid/evm-chains) package for the initial data, then merges in the extended data.
Includes Block Explorer URLs and network logos for certain networks.
This package is meant as a holdover and may be deprecated in the future in favor of simply using `evm-chains`. That is dependent on EIPs such as: https://github.com/ethereum/EIPs/pull/3091
NOTE: This also makes use of a silent interface pattern where missing networks will be returned undefined instead of throwing.
## Install
```sh
npm install --save evm-chains-extended#or
yarn add evm-chains-extended
```## API
```typescript
function getAllChains(): IChainDataExtended[] | undefined;
function getChain(chainId: number): IChainDataExtended | undefined;
function getChainByChainId(chainId: number): IChainDataExtended | undefined;
function formatNetworkForAddEthereumChain(network: IChainDataExtended): IAddEthereumChainParameter;
```## Logos
To use network logos import into your dapp:
```typescript
import EthLogo from '@pooltogether/evm-chains-extended/dist/umd/images/ethereum-icon.png'
import BscLogo1 from '@pooltogether/evm-chains-extended/dist/umd/images/bsc-icon-1.png'
import BscLogo2 from '@pooltogether/evm-chains-extended/dist/umd/images/bsc-icon-2.png'
import OptimismLogo from '@pooltogether/evm-chains-extended/dist/umd/images/optimism-icon.png'
import PoALogo from '@pooltogether/evm-chains-extended/dist/umd/images/poa-icon.png'
import PolygonLogo from '@pooltogether/evm-chains-extended/dist/umd/images/polygon-icon.png'
import XDaiLogo from '@pooltogether/evm-chains-extended/dist/umd/images/xdai-logo.png'
``````jsx
// then:
```## Types
```typescript
interface IChainDataExtended {
name: string;
chainId: number;
shortName: string;
chain: string;
network: string;
networkId: number;
nativeCurrency: {
name: string;
symbol: string;
decimals: number;
};
rpc: string[];
faucets: string[];
infoURL: string;
blockExplorerUrls: string[]
}// format for EIP3085 wallet_addEthereumChain
interface IAddEthereumChainParameter {
chainId: string; // A 0x-prefixed hexadecimal string
chainName: string;
nativeCurrency: {
name: string;
symbol: string; // 2-6 characters long
decimals: number;
};
rpcUrls: string[];
blockExplorerUrls?: string[];
iconUrls?: string[]; // Currently ignored.
}
```## Data Source
[https://github.com/ethereum-lists/chains](https://github.com/ethereum-lists/chains)