Enum alloy_chains::NamedChain
source · #[repr(u64)]pub enum NamedChain {
Show 69 variants
Mainnet = 1,
Morden = 2,
Ropsten = 3,
Rinkeby = 4,
Goerli = 5,
Kovan = 42,
Holesky = 17_000,
Sepolia = 11_155_111,
Optimism = 10,
OptimismKovan = 69,
OptimismGoerli = 420,
OptimismSepolia = 11_155_420,
Arbitrum = 42_161,
ArbitrumTestnet = 421_611,
ArbitrumGoerli = 421_613,
ArbitrumSepolia = 421_614,
ArbitrumNova = 42_170,
Cronos = 25,
CronosTestnet = 338,
Rsk = 30,
BinanceSmartChain = 56,
BinanceSmartChainTestnet = 97,
Poa = 99,
Sokol = 77,
Scroll = 534_352,
ScrollAlphaTestnet = 534_353,
Metis = 1_088,
Gnosis = 100,
Polygon = 137,
PolygonMumbai = 80_001,
PolygonZkEvm = 1_101,
PolygonZkEvmTestnet = 1_442,
Fantom = 250,
FantomTestnet = 4_002,
Moonbeam = 1_284,
MoonbeamDev = 1_281,
Moonriver = 1_285,
Moonbase = 1_287,
Dev = 1_337,
AnvilHardhat = 31_337,
Evmos = 9_001,
EvmosTestnet = 9_000,
Chiado = 10_200,
Oasis = 26_863,
Emerald = 42_262,
EmeraldTestnet = 42_261,
FilecoinMainnet = 314,
FilecoinCalibrationTestnet = 314_159,
Avalanche = 43_114,
AvalancheFuji = 43_113,
Celo = 42_220,
CeloAlfajores = 44_787,
CeloBaklava = 62_320,
Aurora = 1_313_161_554,
AuroraTestnet = 1_313_161_555,
Canto = 7_700,
CantoTestnet = 740,
Boba = 288,
Base = 8_453,
BaseGoerli = 84_531,
Linea = 59_144,
LineaTestnet = 59_140,
ZkSync = 324,
ZkSyncTestnet = 280,
Mantle = 5_000,
MantleTestnet = 5_001,
Zora = 7_777_777,
ZoraGoerli = 999,
ZoraSepolia = 999_999_999,
}Expand description
An Ethereum EIP-155 chain.
Variants§
Mainnet = 1
Morden = 2
Ropsten = 3
Rinkeby = 4
Goerli = 5
Kovan = 42
Holesky = 17_000
Sepolia = 11_155_111
Optimism = 10
OptimismKovan = 69
OptimismGoerli = 420
OptimismSepolia = 11_155_420
Arbitrum = 42_161
ArbitrumTestnet = 421_611
ArbitrumGoerli = 421_613
ArbitrumSepolia = 421_614
ArbitrumNova = 42_170
Cronos = 25
CronosTestnet = 338
Rsk = 30
BinanceSmartChain = 56
BinanceSmartChainTestnet = 97
Poa = 99
Sokol = 77
Scroll = 534_352
ScrollAlphaTestnet = 534_353
Metis = 1_088
Gnosis = 100
Polygon = 137
PolygonMumbai = 80_001
PolygonZkEvm = 1_101
PolygonZkEvmTestnet = 1_442
Fantom = 250
FantomTestnet = 4_002
Moonbeam = 1_284
MoonbeamDev = 1_281
Moonriver = 1_285
Moonbase = 1_287
Dev = 1_337
AnvilHardhat = 31_337
Evmos = 9_001
EvmosTestnet = 9_000
Chiado = 10_200
Oasis = 26_863
Emerald = 42_262
EmeraldTestnet = 42_261
FilecoinMainnet = 314
FilecoinCalibrationTestnet = 314_159
Avalanche = 43_114
AvalancheFuji = 43_113
Celo = 42_220
CeloAlfajores = 44_787
CeloBaklava = 62_320
Aurora = 1_313_161_554
AuroraTestnet = 1_313_161_555
Canto = 7_700
CantoTestnet = 740
Boba = 288
Base = 8_453
BaseGoerli = 84_531
Linea = 59_144
LineaTestnet = 59_140
ZkSync = 324
ZkSyncTestnet = 280
Mantle = 5_000
MantleTestnet = 5_001
Zora = 7_777_777
ZoraGoerli = 999
ZoraSepolia = 999_999_999
Implementations§
source§impl NamedChain
impl NamedChain
sourcepub const fn average_blocktime_hint(self) -> Option<Duration>
pub const fn average_blocktime_hint(self) -> Option<Duration>
Returns the chain’s average blocktime, if applicable.
It can be beneficial to know the average blocktime to adjust the polling of an HTTP provider for example.
Note: this is not an accurate average, but is rather a sensible default derived from blocktime charts such as Etherscan’s or Polygonscan’s.
Examples
use alloy_chains::NamedChain;
use std::time::Duration;
assert_eq!(NamedChain::Mainnet.average_blocktime_hint(), Some(Duration::from_millis(12_000)),);
assert_eq!(NamedChain::Optimism.average_blocktime_hint(), Some(Duration::from_millis(2_000)),);sourcepub const fn is_legacy(self) -> bool
pub const fn is_legacy(self) -> bool
Returns whether the chain implements EIP-1559 (with the type 2 EIP-2718 transaction type).
Examples
use alloy_chains::NamedChain;
assert!(!NamedChain::Mainnet.is_legacy());
assert!(NamedChain::Celo.is_legacy());sourcepub const fn supports_shanghai(self) -> bool
pub const fn supports_shanghai(self) -> bool
Returns whether the chain supports the Shanghai hardfork.
sourcepub const fn etherscan_urls(self) -> Option<(&'static str, &'static str)>
pub const fn etherscan_urls(self) -> Option<(&'static str, &'static str)>
Returns the chain’s blockchain explorer and its API (Etherscan and Etherscan-like) URLs.
Returns (API_URL, BASE_URL).
Examples
use alloy_chains::NamedChain;
assert_eq!(
NamedChain::Mainnet.etherscan_urls(),
Some(("https://api.etherscan.io/api", "https://etherscan.io"))
);
assert_eq!(
NamedChain::Avalanche.etherscan_urls(),
Some(("https://api.snowtrace.io/api", "https://snowtrace.io"))
);
assert_eq!(NamedChain::AnvilHardhat.etherscan_urls(), None);sourcepub const fn etherscan_api_key_name(self) -> Option<&'static str>
pub const fn etherscan_api_key_name(self) -> Option<&'static str>
Returns the chain’s blockchain explorer’s API key environment variable’s default name.
Examples
use alloy_chains::NamedChain;
assert_eq!(NamedChain::Mainnet.etherscan_api_key_name(), Some("ETHERSCAN_API_KEY"));
assert_eq!(NamedChain::AnvilHardhat.etherscan_api_key_name(), None);sourcepub fn etherscan_api_key(self) -> Option<String>
pub fn etherscan_api_key(self) -> Option<String>
Returns the chain’s blockchain explorer’s API key, from the environment variable with the
name specified in etherscan_api_key_name.
Examples
use alloy_chains::NamedChain;
let chain = NamedChain::Mainnet;
std::env::set_var(chain.etherscan_api_key_name().unwrap(), "KEY");
assert_eq!(chain.etherscan_api_key().as_deref(), Some("KEY"));sourcepub fn public_dns_network_protocol(self) -> Option<String>
pub fn public_dns_network_protocol(self) -> Option<String>
Returns the address of the public DNS node list for the given chain.
Trait Implementations§
source§impl AsRef<str> for NamedChain
impl AsRef<str> for NamedChain
source§impl Clone for NamedChain
impl Clone for NamedChain
source§fn clone(&self) -> NamedChain
fn clone(&self) -> NamedChain
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for NamedChain
impl Debug for NamedChain
source§impl Default for NamedChain
impl Default for NamedChain
source§impl Display for NamedChain
impl Display for NamedChain
source§impl From<NamedChain> for Chain
impl From<NamedChain> for Chain
source§fn from(id: NamedChain) -> Self
fn from(id: NamedChain) -> Self
source§impl From<NamedChain> for i128
impl From<NamedChain> for i128
source§fn from(chain: NamedChain) -> Self
fn from(chain: NamedChain) -> Self
source§impl From<NamedChain> for i64
impl From<NamedChain> for i64
source§fn from(chain: NamedChain) -> Self
fn from(chain: NamedChain) -> Self
source§impl From<NamedChain> for u128
impl From<NamedChain> for u128
source§fn from(chain: NamedChain) -> Self
fn from(chain: NamedChain) -> Self
source§impl From<NamedChain> for u64
impl From<NamedChain> for u64
source§fn from(chain: NamedChain) -> Self
fn from(chain: NamedChain) -> Self
source§impl FromStr for NamedChain
impl FromStr for NamedChain
source§impl Hash for NamedChain
impl Hash for NamedChain
source§impl IntoEnumIterator for NamedChain
impl IntoEnumIterator for NamedChain
type Iterator = NamedChainIter
fn iter() -> NamedChainIter ⓘ
source§impl Ord for NamedChain
impl Ord for NamedChain
source§fn cmp(&self, other: &NamedChain) -> Ordering
fn cmp(&self, other: &NamedChain) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq for NamedChain
impl PartialEq for NamedChain
source§fn eq(&self, other: &NamedChain) -> bool
fn eq(&self, other: &NamedChain) -> bool
self and other values to be equal, and is used
by ==.source§impl PartialOrd for NamedChain
impl PartialOrd for NamedChain
source§fn partial_cmp(&self, other: &NamedChain) -> Option<Ordering>
fn partial_cmp(&self, other: &NamedChain) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read more