mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-10-25 02:31:30 +00:00
feat: add 26 chains to registry (10 -> 36 total)
L1: Gnosis, Celo, Fantom, Cronos, Moonbeam, Moonriver, Harmony,
Rootstock, Fuse, Metis
L2: zkSync Era, Scroll, Linea, Polygon zkEVM, Blast, Mantle, Mode,
Zora, World Chain, Abstract, Starknet
EVM: Canto, Kaia, Aurora, Boba, Astar
Each chain includes mainnet + testnet networks with chain_id,
explorer_url, native_currency, and public RPC defaults in .env.example.
Adds STARKNET variant to ChainType enum for non-EVM support.
This commit is contained in:
@@ -52,6 +52,7 @@ class Settings(BaseSettings):
|
||||
rate_limit_compute_units: int = 1000 # per minute
|
||||
|
||||
# Chain RPCs (upstream nodes)
|
||||
# -- Original 10 chains --
|
||||
eth_mainnet_rpc: str = ""
|
||||
eth_sepolia_rpc: str = ""
|
||||
eth_holesky_rpc: str = ""
|
||||
@@ -76,6 +77,63 @@ class Settings(BaseSettings):
|
||||
btc_rpc_user: str = "bootnode"
|
||||
btc_rpc_password: str = ""
|
||||
|
||||
# -- L1 Chains --
|
||||
gnosis_mainnet_rpc: str = ""
|
||||
gnosis_chiado_rpc: str = ""
|
||||
celo_mainnet_rpc: str = ""
|
||||
celo_alfajores_rpc: str = ""
|
||||
fantom_mainnet_rpc: str = ""
|
||||
fantom_testnet_rpc: str = ""
|
||||
cronos_mainnet_rpc: str = ""
|
||||
cronos_testnet_rpc: str = ""
|
||||
moonbeam_mainnet_rpc: str = ""
|
||||
moonbeam_moonbase_rpc: str = ""
|
||||
moonriver_mainnet_rpc: str = ""
|
||||
harmony_mainnet_rpc: str = ""
|
||||
harmony_testnet_rpc: str = ""
|
||||
rootstock_mainnet_rpc: str = ""
|
||||
rootstock_testnet_rpc: str = ""
|
||||
fuse_mainnet_rpc: str = ""
|
||||
fuse_spark_rpc: str = ""
|
||||
metis_mainnet_rpc: str = ""
|
||||
metis_sepolia_rpc: str = ""
|
||||
|
||||
# -- L2 / Rollups --
|
||||
zksync_mainnet_rpc: str = ""
|
||||
zksync_sepolia_rpc: str = ""
|
||||
scroll_mainnet_rpc: str = ""
|
||||
scroll_sepolia_rpc: str = ""
|
||||
linea_mainnet_rpc: str = ""
|
||||
linea_sepolia_rpc: str = ""
|
||||
polygon_zkevm_mainnet_rpc: str = ""
|
||||
polygon_zkevm_testnet_rpc: str = ""
|
||||
blast_mainnet_rpc: str = ""
|
||||
blast_sepolia_rpc: str = ""
|
||||
mantle_mainnet_rpc: str = ""
|
||||
mantle_sepolia_rpc: str = ""
|
||||
mode_mainnet_rpc: str = ""
|
||||
mode_sepolia_rpc: str = ""
|
||||
zora_mainnet_rpc: str = ""
|
||||
zora_sepolia_rpc: str = ""
|
||||
worldchain_mainnet_rpc: str = ""
|
||||
worldchain_sepolia_rpc: str = ""
|
||||
abstract_mainnet_rpc: str = ""
|
||||
abstract_testnet_rpc: str = ""
|
||||
starknet_mainnet_rpc: str = ""
|
||||
starknet_sepolia_rpc: str = ""
|
||||
|
||||
# -- Other EVM --
|
||||
canto_mainnet_rpc: str = ""
|
||||
canto_testnet_rpc: str = ""
|
||||
kaia_mainnet_rpc: str = ""
|
||||
kaia_kairos_rpc: str = ""
|
||||
aurora_mainnet_rpc: str = ""
|
||||
aurora_testnet_rpc: str = ""
|
||||
boba_mainnet_rpc: str = ""
|
||||
boba_sepolia_rpc: str = ""
|
||||
astar_mainnet_rpc: str = ""
|
||||
astar_shibuya_rpc: str = ""
|
||||
|
||||
# DataStore (ClickHouse)
|
||||
datastore_url: str = "clickhouse://bootnode:bootnode@localhost:8123/bootnode"
|
||||
datastore_pool_size: int = 10
|
||||
|
||||
@@ -13,6 +13,7 @@ class ChainType(str, Enum):
|
||||
EVM = "evm"
|
||||
SOLANA = "solana"
|
||||
BITCOIN = "bitcoin"
|
||||
STARKNET = "starknet"
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -312,6 +313,642 @@ class ChainRegistry:
|
||||
},
|
||||
)
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# L1 Chains
|
||||
# -----------------------------------------------------------
|
||||
|
||||
# Gnosis (formerly xDai)
|
||||
cls._chains["gnosis"] = Chain(
|
||||
name="Gnosis",
|
||||
slug="gnosis",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=100,
|
||||
is_testnet=False,
|
||||
rpc_env_var="gnosis_mainnet_rpc",
|
||||
explorer_url="https://gnosisscan.io",
|
||||
native_currency="xDAI",
|
||||
),
|
||||
"chiado": Network(
|
||||
name="Chiado",
|
||||
chain_id=10200,
|
||||
is_testnet=True,
|
||||
rpc_env_var="gnosis_chiado_rpc",
|
||||
explorer_url="https://gnosis-chiado.blockscout.com",
|
||||
native_currency="xDAI",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Celo
|
||||
cls._chains["celo"] = Chain(
|
||||
name="Celo",
|
||||
slug="celo",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=42220,
|
||||
is_testnet=False,
|
||||
rpc_env_var="celo_mainnet_rpc",
|
||||
explorer_url="https://celoscan.io",
|
||||
native_currency="CELO",
|
||||
),
|
||||
"alfajores": Network(
|
||||
name="Alfajores",
|
||||
chain_id=44787,
|
||||
is_testnet=True,
|
||||
rpc_env_var="celo_alfajores_rpc",
|
||||
explorer_url="https://alfajores.celoscan.io",
|
||||
native_currency="CELO",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Fantom
|
||||
cls._chains["fantom"] = Chain(
|
||||
name="Fantom",
|
||||
slug="fantom",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Opera",
|
||||
chain_id=250,
|
||||
is_testnet=False,
|
||||
rpc_env_var="fantom_mainnet_rpc",
|
||||
explorer_url="https://ftmscan.com",
|
||||
native_currency="FTM",
|
||||
),
|
||||
"testnet": Network(
|
||||
name="Testnet",
|
||||
chain_id=4002,
|
||||
is_testnet=True,
|
||||
rpc_env_var="fantom_testnet_rpc",
|
||||
explorer_url="https://testnet.ftmscan.com",
|
||||
native_currency="FTM",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Cronos
|
||||
cls._chains["cronos"] = Chain(
|
||||
name="Cronos",
|
||||
slug="cronos",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=25,
|
||||
is_testnet=False,
|
||||
rpc_env_var="cronos_mainnet_rpc",
|
||||
explorer_url="https://cronoscan.com",
|
||||
native_currency="CRO",
|
||||
),
|
||||
"testnet": Network(
|
||||
name="Testnet",
|
||||
chain_id=338,
|
||||
is_testnet=True,
|
||||
rpc_env_var="cronos_testnet_rpc",
|
||||
explorer_url="https://testnet.cronoscan.com",
|
||||
native_currency="CRO",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Moonbeam
|
||||
cls._chains["moonbeam"] = Chain(
|
||||
name="Moonbeam",
|
||||
slug="moonbeam",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=1284,
|
||||
is_testnet=False,
|
||||
rpc_env_var="moonbeam_mainnet_rpc",
|
||||
explorer_url="https://moonscan.io",
|
||||
native_currency="GLMR",
|
||||
),
|
||||
"moonbase": Network(
|
||||
name="Moonbase Alpha",
|
||||
chain_id=1287,
|
||||
is_testnet=True,
|
||||
rpc_env_var="moonbeam_moonbase_rpc",
|
||||
explorer_url="https://moonbase.moonscan.io",
|
||||
native_currency="DEV",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Moonriver
|
||||
cls._chains["moonriver"] = Chain(
|
||||
name="Moonriver",
|
||||
slug="moonriver",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=1285,
|
||||
is_testnet=False,
|
||||
rpc_env_var="moonriver_mainnet_rpc",
|
||||
explorer_url="https://moonriver.moonscan.io",
|
||||
native_currency="MOVR",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Harmony
|
||||
cls._chains["harmony"] = Chain(
|
||||
name="Harmony",
|
||||
slug="harmony",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet Shard 0",
|
||||
chain_id=1666600000,
|
||||
is_testnet=False,
|
||||
rpc_env_var="harmony_mainnet_rpc",
|
||||
explorer_url="https://explorer.harmony.one",
|
||||
native_currency="ONE",
|
||||
),
|
||||
"testnet": Network(
|
||||
name="Testnet Shard 0",
|
||||
chain_id=1666700000,
|
||||
is_testnet=True,
|
||||
rpc_env_var="harmony_testnet_rpc",
|
||||
explorer_url="https://explorer.testnet.harmony.one",
|
||||
native_currency="ONE",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Rootstock (RSK)
|
||||
cls._chains["rootstock"] = Chain(
|
||||
name="Rootstock",
|
||||
slug="rootstock",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=30,
|
||||
is_testnet=False,
|
||||
rpc_env_var="rootstock_mainnet_rpc",
|
||||
explorer_url="https://explorer.rsk.co",
|
||||
native_currency="RBTC",
|
||||
),
|
||||
"testnet": Network(
|
||||
name="Testnet",
|
||||
chain_id=31,
|
||||
is_testnet=True,
|
||||
rpc_env_var="rootstock_testnet_rpc",
|
||||
explorer_url="https://explorer.testnet.rsk.co",
|
||||
native_currency="tRBTC",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Fuse
|
||||
cls._chains["fuse"] = Chain(
|
||||
name="Fuse",
|
||||
slug="fuse",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=122,
|
||||
is_testnet=False,
|
||||
rpc_env_var="fuse_mainnet_rpc",
|
||||
explorer_url="https://explorer.fuse.io",
|
||||
native_currency="FUSE",
|
||||
),
|
||||
"spark": Network(
|
||||
name="Spark",
|
||||
chain_id=123,
|
||||
is_testnet=True,
|
||||
rpc_env_var="fuse_spark_rpc",
|
||||
explorer_url="https://explorer.fusespark.io",
|
||||
native_currency="FUSE",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Metis
|
||||
cls._chains["metis"] = Chain(
|
||||
name="Metis",
|
||||
slug="metis",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Andromeda",
|
||||
chain_id=1088,
|
||||
is_testnet=False,
|
||||
rpc_env_var="metis_mainnet_rpc",
|
||||
explorer_url="https://andromeda-explorer.metis.io",
|
||||
native_currency="METIS",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=59902,
|
||||
is_testnet=True,
|
||||
rpc_env_var="metis_sepolia_rpc",
|
||||
explorer_url="https://sepolia-explorer.metisdevops.link",
|
||||
native_currency="tMETIS",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# L2 / Rollups
|
||||
# -----------------------------------------------------------
|
||||
|
||||
# zkSync Era
|
||||
cls._chains["zksync"] = Chain(
|
||||
name="zkSync Era",
|
||||
slug="zksync",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=324,
|
||||
is_testnet=False,
|
||||
rpc_env_var="zksync_mainnet_rpc",
|
||||
explorer_url="https://explorer.zksync.io",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=300,
|
||||
is_testnet=True,
|
||||
rpc_env_var="zksync_sepolia_rpc",
|
||||
explorer_url="https://sepolia.explorer.zksync.io",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Scroll
|
||||
cls._chains["scroll"] = Chain(
|
||||
name="Scroll",
|
||||
slug="scroll",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=534352,
|
||||
is_testnet=False,
|
||||
rpc_env_var="scroll_mainnet_rpc",
|
||||
explorer_url="https://scrollscan.com",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=534351,
|
||||
is_testnet=True,
|
||||
rpc_env_var="scroll_sepolia_rpc",
|
||||
explorer_url="https://sepolia.scrollscan.com",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Linea
|
||||
cls._chains["linea"] = Chain(
|
||||
name="Linea",
|
||||
slug="linea",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=59144,
|
||||
is_testnet=False,
|
||||
rpc_env_var="linea_mainnet_rpc",
|
||||
explorer_url="https://lineascan.build",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=59141,
|
||||
is_testnet=True,
|
||||
rpc_env_var="linea_sepolia_rpc",
|
||||
explorer_url="https://sepolia.lineascan.build",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Polygon zkEVM
|
||||
cls._chains["polygon-zkevm"] = Chain(
|
||||
name="Polygon zkEVM",
|
||||
slug="polygon-zkevm",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=1101,
|
||||
is_testnet=False,
|
||||
rpc_env_var="polygon_zkevm_mainnet_rpc",
|
||||
explorer_url="https://zkevm.polygonscan.com",
|
||||
native_currency="ETH",
|
||||
),
|
||||
"testnet": Network(
|
||||
name="Cardona",
|
||||
chain_id=2442,
|
||||
is_testnet=True,
|
||||
rpc_env_var="polygon_zkevm_testnet_rpc",
|
||||
explorer_url="https://cardona-zkevm.polygonscan.com",
|
||||
native_currency="ETH",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Blast
|
||||
cls._chains["blast"] = Chain(
|
||||
name="Blast",
|
||||
slug="blast",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=81457,
|
||||
is_testnet=False,
|
||||
rpc_env_var="blast_mainnet_rpc",
|
||||
explorer_url="https://blastscan.io",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=168587773,
|
||||
is_testnet=True,
|
||||
rpc_env_var="blast_sepolia_rpc",
|
||||
explorer_url="https://sepolia.blastscan.io",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Mantle
|
||||
cls._chains["mantle"] = Chain(
|
||||
name="Mantle",
|
||||
slug="mantle",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=5000,
|
||||
is_testnet=False,
|
||||
rpc_env_var="mantle_mainnet_rpc",
|
||||
explorer_url="https://mantlescan.xyz",
|
||||
native_currency="MNT",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=5003,
|
||||
is_testnet=True,
|
||||
rpc_env_var="mantle_sepolia_rpc",
|
||||
explorer_url="https://sepolia.mantlescan.xyz",
|
||||
native_currency="MNT",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Mode
|
||||
cls._chains["mode"] = Chain(
|
||||
name="Mode",
|
||||
slug="mode",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=34443,
|
||||
is_testnet=False,
|
||||
rpc_env_var="mode_mainnet_rpc",
|
||||
explorer_url="https://explorer.mode.network",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=919,
|
||||
is_testnet=True,
|
||||
rpc_env_var="mode_sepolia_rpc",
|
||||
explorer_url="https://sepolia.explorer.mode.network",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Zora
|
||||
cls._chains["zora"] = Chain(
|
||||
name="Zora",
|
||||
slug="zora",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=7777777,
|
||||
is_testnet=False,
|
||||
rpc_env_var="zora_mainnet_rpc",
|
||||
explorer_url="https://explorer.zora.energy",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=999999999,
|
||||
is_testnet=True,
|
||||
rpc_env_var="zora_sepolia_rpc",
|
||||
explorer_url="https://sepolia.explorer.zora.energy",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# World Chain
|
||||
cls._chains["worldchain"] = Chain(
|
||||
name="World Chain",
|
||||
slug="worldchain",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=480,
|
||||
is_testnet=False,
|
||||
rpc_env_var="worldchain_mainnet_rpc",
|
||||
explorer_url="https://worldscan.org",
|
||||
native_currency="ETH",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=4801,
|
||||
is_testnet=True,
|
||||
rpc_env_var="worldchain_sepolia_rpc",
|
||||
explorer_url="https://sepolia.worldscan.org",
|
||||
native_currency="ETH",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Abstract
|
||||
cls._chains["abstract"] = Chain(
|
||||
name="Abstract",
|
||||
slug="abstract",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=2741,
|
||||
is_testnet=False,
|
||||
rpc_env_var="abstract_mainnet_rpc",
|
||||
explorer_url="https://abscan.org",
|
||||
),
|
||||
"testnet": Network(
|
||||
name="Testnet",
|
||||
chain_id=11124,
|
||||
is_testnet=True,
|
||||
rpc_env_var="abstract_testnet_rpc",
|
||||
explorer_url="https://testnet.abscan.org",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Starknet (non-EVM)
|
||||
cls._chains["starknet"] = Chain(
|
||||
name="Starknet",
|
||||
slug="starknet",
|
||||
chain_type=ChainType.STARKNET,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=None,
|
||||
is_testnet=False,
|
||||
rpc_env_var="starknet_mainnet_rpc",
|
||||
explorer_url="https://starkscan.co",
|
||||
native_currency="ETH",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=None,
|
||||
is_testnet=True,
|
||||
rpc_env_var="starknet_sepolia_rpc",
|
||||
explorer_url="https://sepolia.starkscan.co",
|
||||
native_currency="ETH",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Other EVM Chains
|
||||
# -----------------------------------------------------------
|
||||
|
||||
# Canto
|
||||
cls._chains["canto"] = Chain(
|
||||
name="Canto",
|
||||
slug="canto",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=7700,
|
||||
is_testnet=False,
|
||||
rpc_env_var="canto_mainnet_rpc",
|
||||
explorer_url="https://cantoscan.com",
|
||||
native_currency="CANTO",
|
||||
),
|
||||
"testnet": Network(
|
||||
name="Testnet",
|
||||
chain_id=7701,
|
||||
is_testnet=True,
|
||||
rpc_env_var="canto_testnet_rpc",
|
||||
explorer_url="https://testnet.cantoscan.com",
|
||||
native_currency="CANTO",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Klaytn / Kaia
|
||||
cls._chains["kaia"] = Chain(
|
||||
name="Kaia",
|
||||
slug="kaia",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=8217,
|
||||
is_testnet=False,
|
||||
rpc_env_var="kaia_mainnet_rpc",
|
||||
explorer_url="https://kaiascan.io",
|
||||
native_currency="KAIA",
|
||||
),
|
||||
"kairos": Network(
|
||||
name="Kairos",
|
||||
chain_id=1001,
|
||||
is_testnet=True,
|
||||
rpc_env_var="kaia_kairos_rpc",
|
||||
explorer_url="https://kairos.kaiascan.io",
|
||||
native_currency="KAIA",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Aurora (NEAR EVM)
|
||||
cls._chains["aurora"] = Chain(
|
||||
name="Aurora",
|
||||
slug="aurora",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=1313161554,
|
||||
is_testnet=False,
|
||||
rpc_env_var="aurora_mainnet_rpc",
|
||||
explorer_url="https://explorer.aurora.dev",
|
||||
),
|
||||
"testnet": Network(
|
||||
name="Testnet",
|
||||
chain_id=1313161555,
|
||||
is_testnet=True,
|
||||
rpc_env_var="aurora_testnet_rpc",
|
||||
explorer_url="https://testnet.explorer.aurora.dev",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Boba
|
||||
cls._chains["boba"] = Chain(
|
||||
name="Boba",
|
||||
slug="boba",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=288,
|
||||
is_testnet=False,
|
||||
rpc_env_var="boba_mainnet_rpc",
|
||||
explorer_url="https://bobascan.com",
|
||||
),
|
||||
"sepolia": Network(
|
||||
name="Sepolia",
|
||||
chain_id=28882,
|
||||
is_testnet=True,
|
||||
rpc_env_var="boba_sepolia_rpc",
|
||||
explorer_url="https://sepolia.bobascan.com",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
# Astar
|
||||
cls._chains["astar"] = Chain(
|
||||
name="Astar",
|
||||
slug="astar",
|
||||
chain_type=ChainType.EVM,
|
||||
networks={
|
||||
"mainnet": Network(
|
||||
name="Mainnet",
|
||||
chain_id=592,
|
||||
is_testnet=False,
|
||||
rpc_env_var="astar_mainnet_rpc",
|
||||
explorer_url="https://astar.blockscout.com",
|
||||
native_currency="ASTR",
|
||||
),
|
||||
"shibuya": Network(
|
||||
name="Shibuya",
|
||||
chain_id=81,
|
||||
is_testnet=True,
|
||||
rpc_env_var="astar_shibuya_rpc",
|
||||
explorer_url="https://shibuya.blockscout.com",
|
||||
native_currency="SBY",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
cls._initialized = True
|
||||
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user