Socket
Book a DemoInstallSign in
Socket

@bdtren/eth-chains

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bdtren/eth-chains

Helper module for getting Ethereum chains info.

latest
npmnpm
Version
2.0.3
Version published
Maintainers
1
Created
Source

Publish npm

Eth Chains

Helper module for getting Ethereum chains info from chainid.network.

Install

yarn add @bdtren/eth-chains
npm install @bdtren/eth-chains

Note on versioning

@bdtren/eth-chains uses a weekly automated release script that updates its chain data. This release script takes breaking changes into account, so breaking changes (e.g. renamed chains) are released as a new major version, while non-breaking changes (e.g. new chains) are released as a new minor version.

Usage

Import chains methods and enums:

import chains, { ChainId, ChainName } from '@bdtren/eth-chains'
import { chain } from '@bdtren/eth-chains'

console.log(chain.ethereum.rinkeby)

console.log(chain.polygon.mumbai)

Chain names and ids via Enums:

console.log(ChainId.EthereumMainnet) // 1
console.log(ChainId.BinanceSmartChainMainnet) // 56
console.log(ChainName.EthereumMainnet) // "Ethereum Mainnet"
console.log(ChainName.Rinkeby) // "Rinkeby"

Chain by ID:

chains.getById(ChainId.EthereumMainnet) // { name: "Ethereum Mainnet", ..., "infoURL": "https://ethereum.org" }
// Equivalent
chains.getById(1)

Chain by Name:

chains.getByName(ChainName.EthereumMainnet) // { name: "Ethereum Mainnet", ..., "infoURL": "https://ethereum.org" }
// Equivalent
chains.getByName('Ethereum Mainnet')

Get all Chains:

const allChains = chains.all()
// { 1: { name: "Ethereum Mainnet", ..., "infoURL": "https://ethereum.org" }, 2: {...}}

Get all Icons:

const allChains = chains.allIcons()
// { "5ireChain": { data: [...], imgUrls: ["https://ipfs.io/ipfs/QmaZDNDFLWESH4i3XqwEWfWBb1HPnQSNbDAr74nr2x8QAk"] }, "ETND": {...}}

Chain Icon by Name:

chains.getIconByName("ethereum") // { data: [...], imgUrls: ["https://ipfs.io/ipfs/QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt"] }

Typescript Types:

import { Chain, NativeCurrency, Explorer } from '@bdtren/eth-chains'
const ethereum: Chain = chains.getById(ChainId.EthereumMainnet)
ethereum.chain // 'ETH'

TODO:

  • Add webhook that watches the chains repo and triggers an update to this package whenever that repo gets updated
    • Add check in the deploy script to make sure that the types are correct before publishing
  • Add Tests
    • Once quicktype is added, test with different chains.json objects to make sure it can handle new types
  • Use quicktype to autogen types from json
  • Autogen Chain Id enum
  • Autogen Chain Name enum

FAQs

Package last updated on 25 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts