intrepidshape/elm-web3/1.4.3

NOTE: the latest version is 3.0.0

Web3.Chain

Chain definitions for EVM networks.

Each Chain bundles the chain ID, name, default RPC URL, block explorer URL, and native currency symbol. Pass Chain.chainId someChain wherever a Web3.Types.ChainId is needed (e.g. Wallet.update and Wallet.switchChain).

import Web3.Chain as Chain
import Web3.Wallet as Wallet


expectedChain : Web3.Types.ChainId
expectedChain =
    Chain.chainId Chain.pulsechain


-- Add a network to the wallet (EIP-3085):
addPulseChain : Web3.Wallet.WalletCmd
addPulseChain =
    Wallet.addChain
        { chainId = 369
        , chainName = Chain.name Chain.pulsechain
        , rpcUrls = [ Chain.rpcUrl Chain.pulsechain ]
        , nativeCurrency = { name = "Pulse", symbol = "PLS", decimals = 18 }
        , blockExplorerUrls = [ Chain.blockExplorer Chain.pulsechain ]
        }
type alias Chain =
{ chainId : ChainId
, name : String
, rpcUrl : String
, blockExplorer : String
, nativeCurrency : String
}

An EVM chain definition.

pulsechain : Chain

PulseChain mainnet (chain ID 369).

The block explorer URL points to scan.pulsechain.com served via Pinata's IPFS gateway. This is the proper decentralised access method — the same explorer, but fetched from IPFS rather than a centralised host.

PulseChain testnet v4 (chain ID 943).

ethereum : Chain

Ethereum mainnet (chain ID 1).

sepolia : Chain

Sepolia testnet (chain ID 11155111).

bsc : Chain

BNB Smart Chain mainnet (chain ID 56).

polygon : Chain

Polygon PoS mainnet (chain ID 137).

arbitrum : Chain

Arbitrum One (chain ID 42161).

optimism : Chain

Optimism (chain ID 10).

base : Chain

Base mainnet (chain ID 8453).

avalanche : Chain

Avalanche C-Chain (chain ID 43114).

zksync : Chain

zkSync Era mainnet (chain ID 324).

fantom : Chain

Fantom Opera (chain ID 250).

gnosis : Chain

Gnosis Chain (chain ID 100).

linea : Chain

Linea mainnet (chain ID 59144).

scroll : Chain

Scroll mainnet (chain ID 534352).

{ chainId : Int
, name : String
, rpcUrl : String
, blockExplorer : String
, nativeCurrency : String
}
-> Chain

Define a custom EVM chain.

chainId : Chain -> ChainId

Get the chain ID.

name : Chain -> String

Get the chain name.

rpcUrl : Chain -> String

Get the RPC URL.

blockExplorer : Chain -> String

Get the block explorer URL.