#[non_exhaustive]#[repr(u64)]pub enum NamedChain {
Show 178 variants
Mainnet = 1,
Morden = 2,
Ropsten = 3,
Rinkeby = 4,
Goerli = 5,
Kovan = 42,
Holesky = 17_000,
Hoodi = 560_048,
Sepolia = 11_155_111,
Odyssey = 911_867,
Optimism = 10,
OptimismKovan = 69,
OptimismGoerli = 420,
OptimismSepolia = 11_155_420,
Bob = 60_808,
BobSepolia = 808_813,
Arbitrum = 42_161,
ArbitrumTestnet = 421_611,
ArbitrumGoerli = 421_613,
ArbitrumSepolia = 421_614,
ArbitrumNova = 42_170,
Cronos = 25,
CronosTestnet = 338,
Rsk = 30,
RskTestnet = 31,
TelosEvm = 40,
TelosEvmTestnet = 41,
Crab = 44,
Darwinia = 46,
Koi = 701,
BinanceSmartChain = 56,
BinanceSmartChainTestnet = 97,
Poa = 99,
Sokol = 77,
Scroll = 534_352,
ScrollSepolia = 534_351,
Metis = 1_088,
CfxTestnet = 71,
Cfx = 1_030,
Gnosis = 100,
Polygon = 137,
PolygonAmoy = 80_002,
Fantom = 250,
FantomTestnet = 4_002,
Moonbeam = 1_284,
MoonbeamDev = 1_281,
Moonriver = 1_285,
Moonbase = 1_287,
Dev = 1_337,
AnvilHardhat = 31_337,
GravityAlphaMainnet = 1_625,
GravityAlphaTestnetSepolia = 13_505,
Evmos = 9_001,
EvmosTestnet = 9_000,
Plasma = 9_745,
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,
CeloSepolia = 11_142_220,
Aurora = 1_313_161_554,
AuroraTestnet = 1_313_161_555,
Canto = 7_700,
CantoTestnet = 740,
Boba = 288,
Base = 8_453,
BaseGoerli = 84_531,
BaseSepolia = 84_532,
Syndr = 404,
SyndrSepolia = 444_444,
Shimmer = 148,
Ink = 57_073,
InkSepolia = 763_373,
Fraxtal = 252,
FraxtalTestnet = 2_522,
Blast = 81_457,
BlastSepolia = 168_587_773,
Linea = 59_144,
LineaGoerli = 59_140,
LineaSepolia = 59_141,
ZkSync = 324,
ZkSyncTestnet = 300,
Mantle = 5_000,
MantleSepolia = 5_003,
Xai = 660_279,
XaiSepolia = 37_714_555_429,
HappychainTestnet = 216,
Viction = 88,
Zora = 7_777_777,
ZoraSepolia = 999_999_999,
Pgn = 424,
PgnSepolia = 58_008,
Mode = 34_443,
ModeSepolia = 919,
Elastos = 20,
Etherlink = 42_793,
EtherlinkTestnet = 128_123,
Degen = 666_666_666,
OpBNBMainnet = 204,
OpBNBTestnet = 5_611,
Ronin = 2_020,
RoninTestnet = 2_021,
Taiko = 167_000,
TaikoHekla = 167_009,
AutonomysNovaTestnet = 490_000,
Flare = 14,
FlareCoston2 = 114,
Acala = 787,
AcalaMandalaTestnet = 595,
AcalaTestnet = 597,
Karura = 686,
KaruraTestnet = 596,
Pulsechain = 369,
PulsechainTestnet = 943,
Cannon = 13_370,
Immutable = 13_371,
ImmutableTestnet = 13_473,
Soneium = 1_868,
SoneiumMinatoTestnet = 1_946,
World = 480,
WorldSepolia = 4_801,
Iotex = 4_689,
Core = 1_116,
Merlin = 4_200,
Bitlayer = 200_901,
Vana = 1_480,
Zeta = 7_000,
Kaia = 8_217,
Story = 1_514,
Sei = 1_329,
SeiTestnet = 1_328,
StableMainnet = 988,
StableTestnet = 2_201,
XdcMainnet = 50,
XdcTestnet = 51,
Unichain = 130,
UnichainSepolia = 1_301,
SignetPecorino = 14_174,
ApeChain = 33_139,
Curtis = 33_111,
Sonic = 146,
SonicTestnet = 14_601,
Treasure = 61_166,
TreasureTopaz = 978_658,
BerachainBepolia = 80_069,
Berachain = 80_094,
SuperpositionTestnet = 98_985,
Superposition = 55_244,
Monad = 143,
MonadTestnet = 10_143,
Hyperliquid = 999,
Abstract = 2_741,
AbstractTestnet = 11_124,
Corn = 21_000_000,
CornTestnet = 21_000_001,
Sophon = 50_104,
SophonTestnet = 531_050_104,
PolkadotTestnet = 420_420_417,
Lens = 232,
LensTestnet = 37_111,
Injective = 1_776,
InjectiveTestnet = 1_439,
Katana = 747_474,
Lisk = 1_135,
Fuse = 122,
FluentDevnet = 20_993,
FluentTestnet = 20_994,
SkaleBase = 1_562_508_942,
SkaleBaseSepoliaTestnet = 324_705_682,
MemeCore = 4_352,
Formicarium = 43_521,
Insectarium = 43_522,
TempoTestnet = 42_429,
}Expand description
An Ethereum EIP-155 chain.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Mainnet = 1
Morden = 2
Ropsten = 3
Rinkeby = 4
Goerli = 5
Kovan = 42
Holesky = 17_000
Hoodi = 560_048
Sepolia = 11_155_111
Odyssey = 911_867
Optimism = 10
OptimismKovan = 69
OptimismGoerli = 420
OptimismSepolia = 11_155_420
Bob = 60_808
BobSepolia = 808_813
Arbitrum = 42_161
ArbitrumTestnet = 421_611
ArbitrumGoerli = 421_613
ArbitrumSepolia = 421_614
ArbitrumNova = 42_170
Cronos = 25
CronosTestnet = 338
Rsk = 30
RskTestnet = 31
TelosEvm = 40
TelosEvmTestnet = 41
Crab = 44
Darwinia = 46
Koi = 701
BinanceSmartChain = 56
Note the correct name for BSC should be BNB Smart Chain due to the rebranding: https://www.bnbchain.org/en/blog/bsc-is-now-bnb-chain-the-infrastructure-for-the-metafi-universe
We keep Binance Smart Chain for backward compatibility, and the enum could be renamed in
the future release.
BinanceSmartChainTestnet = 97
Poa = 99
Sokol = 77
Scroll = 534_352
ScrollSepolia = 534_351
Metis = 1_088
CfxTestnet = 71
Cfx = 1_030
Gnosis = 100
Polygon = 137
PolygonAmoy = 80_002
Fantom = 250
FantomTestnet = 4_002
Moonbeam = 1_284
MoonbeamDev = 1_281
Moonriver = 1_285
Moonbase = 1_287
Dev = 1_337
AnvilHardhat = 31_337
GravityAlphaMainnet = 1_625
GravityAlphaTestnetSepolia = 13_505
Evmos = 9_001
EvmosTestnet = 9_000
Plasma = 9_745
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
CeloSepolia = 11_142_220
Aurora = 1_313_161_554
AuroraTestnet = 1_313_161_555
Canto = 7_700
CantoTestnet = 740
Boba = 288
Base = 8_453
BaseGoerli = 84_531
BaseSepolia = 84_532
Syndr = 404
SyndrSepolia = 444_444
Shimmer = 148
Ink = 57_073
InkSepolia = 763_373
Fraxtal = 252
FraxtalTestnet = 2_522
Blast = 81_457
BlastSepolia = 168_587_773
Linea = 59_144
LineaGoerli = 59_140
LineaSepolia = 59_141
ZkSync = 324
ZkSyncTestnet = 300
Mantle = 5_000
MantleSepolia = 5_003
Xai = 660_279
XaiSepolia = 37_714_555_429
HappychainTestnet = 216
Viction = 88
Zora = 7_777_777
ZoraSepolia = 999_999_999
Pgn = 424
PgnSepolia = 58_008
Mode = 34_443
ModeSepolia = 919
Elastos = 20
Etherlink = 42_793
EtherlinkTestnet = 128_123
Degen = 666_666_666
OpBNBMainnet = 204
OpBNBTestnet = 5_611
Ronin = 2_020
RoninTestnet = 2_021
Taiko = 167_000
TaikoHekla = 167_009
AutonomysNovaTestnet = 490_000
Flare = 14
FlareCoston2 = 114
Acala = 787
AcalaMandalaTestnet = 595
AcalaTestnet = 597
Karura = 686
KaruraTestnet = 596
Pulsechain = 369
PulsechainTestnet = 943
Cannon = 13_370
Immutable = 13_371
ImmutableTestnet = 13_473
Soneium = 1_868
SoneiumMinatoTestnet = 1_946
World = 480
WorldSepolia = 4_801
Iotex = 4_689
Core = 1_116
Merlin = 4_200
Bitlayer = 200_901
Vana = 1_480
Zeta = 7_000
Kaia = 8_217
Story = 1_514
Sei = 1_329
SeiTestnet = 1_328
StableMainnet = 988
StableTestnet = 2_201
XdcMainnet = 50
XdcTestnet = 51
Unichain = 130
UnichainSepolia = 1_301
SignetPecorino = 14_174
ApeChain = 33_139
Curtis = 33_111
Sonic = 146
SonicTestnet = 14_601
Treasure = 61_166
TreasureTopaz = 978_658
BerachainBepolia = 80_069
Berachain = 80_094
SuperpositionTestnet = 98_985
Superposition = 55_244
Monad = 143
MonadTestnet = 10_143
Hyperliquid = 999
Abstract = 2_741
AbstractTestnet = 11_124
Corn = 21_000_000
CornTestnet = 21_000_001
Sophon = 50_104
SophonTestnet = 531_050_104
PolkadotTestnet = 420_420_417
Lens = 232
LensTestnet = 37_111
Injective = 1_776
InjectiveTestnet = 1_439
Katana = 747_474
Lisk = 1_135
Fuse = 122
FluentDevnet = 20_993
FluentTestnet = 20_994
SkaleBase = 1_562_508_942
SkaleBaseSepoliaTestnet = 324_705_682
MemeCore = 4_352
Formicarium = 43_521
Insectarium = 43_522
TempoTestnet = 42_429
Implementations§
Source§impl NamedChain
impl NamedChain
Sourcepub const fn is_ethereum(&self) -> bool
pub const fn is_ethereum(&self) -> bool
Returns true if this chain is Ethereum or an Ethereum testnet.
Sourcepub const fn is_optimism(self) -> bool
pub const fn is_optimism(self) -> bool
Returns true if the chain contains Optimism configuration.
Sourcepub const fn is_polygon(self) -> bool
pub const fn is_polygon(self) -> bool
Returns true if the chain contains Polygon configuration.
Sourcepub const fn is_arbitrum(self) -> bool
pub const fn is_arbitrum(self) -> bool
Returns true if the chain contains Arbitrum configuration.
Sourcepub const fn is_elastic(self) -> bool
pub const fn is_elastic(self) -> bool
Returns true if the chain contains Elastic Network configuration.
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::Fantom.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 is_testnet(self) -> bool
pub const fn is_testnet(self) -> bool
Returns whether the chain is a testnet.
Sourcepub const fn native_currency_symbol(self) -> Option<&'static str>
pub const fn native_currency_symbol(self) -> Option<&'static str>
Returns the symbol of the chain’s native currency.
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).
All URLs have no trailing /
§Examples
use alloy_chains::NamedChain;
assert_eq!(
NamedChain::Mainnet.etherscan_urls(),
Some(("https://api.etherscan.io/v2/api?chainid=1", "https://etherscan.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>
Available on crate feature std only.
pub fn etherscan_api_key(self) -> Option<String>
std only.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;
unsafe {
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.
Sourcepub const fn wrapped_native_token(self) -> Option<Address>
pub const fn wrapped_native_token(self) -> Option<Address>
Returns the address of the most popular wrapped native token address for this chain, if it exists.
Example:
use alloy_chains::NamedChain;
use alloy_primitives::address;
let chain = NamedChain::Mainnet;
assert_eq!(
chain.wrapped_native_token(),
Some(address!("C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"))
);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 more