@ethereumjs/common
Version:
Resources common to all Ethereum implementations
639 lines (634 loc) • 14.2 kB
text/typescript
import type { ChainConfig } from './types.ts'
export const Mainnet: ChainConfig = {
name: 'mainnet',
chainId: 1,
defaultHardfork: 'prague',
consensus: {
type: 'pow',
algorithm: 'ethash',
ethash: {},
},
comment: 'The Ethereum main chain',
url: 'https://ethstats.net/',
genesis: {
gasLimit: 5000,
difficulty: 17179869184,
nonce: '0x0000000000000042',
extraData: '0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa',
},
depositContractAddress: '0x00000000219ab540356cBB839Cbe05303d7705Fa',
hardforks: [
{
name: 'chainstart',
block: 0,
forkHash: '0xfc64ec04',
},
{
name: 'homestead',
block: 1150000,
forkHash: '0x97c2c34c',
},
{
name: 'dao',
block: 1920000,
forkHash: '0x91d1f948',
},
{
name: 'tangerineWhistle',
block: 2463000,
forkHash: '0x7a64da13',
},
{
name: 'spuriousDragon',
block: 2675000,
forkHash: '0x3edd5b10',
},
{
name: 'byzantium',
block: 4370000,
forkHash: '0xa00bc324',
},
{
name: 'constantinople',
block: 7280000,
forkHash: '0x668db0af',
},
{
name: 'petersburg',
block: 7280000,
forkHash: '0x668db0af',
},
{
name: 'istanbul',
block: 9069000,
forkHash: '0x879d6e30',
},
{
name: 'muirGlacier',
block: 9200000,
forkHash: '0xe029e991',
},
{
name: 'berlin',
block: 12244000,
forkHash: '0x0eb440f6',
},
{
name: 'london',
block: 12965000,
forkHash: '0xb715077d',
},
{
name: 'arrowGlacier',
block: 13773000,
forkHash: '0x20c327fc',
},
{
name: 'grayGlacier',
block: 15050000,
forkHash: '0xf0afd0e3',
},
{
// The forkHash will remain same as mergeNetsplitBlock is post merge
// terminal block: https://etherscan.io/block/15537393
name: 'paris',
block: 15537394,
forkHash: '0xf0afd0e3',
},
{
name: 'mergeNetsplitBlock',
block: null,
forkHash: null,
},
{
name: 'shanghai',
block: null,
timestamp: '1681338455',
forkHash: '0xdce96c2d',
},
{
name: 'cancun',
block: null,
timestamp: '1710338135',
forkHash: '0x9f3d2254',
},
{
name: 'prague',
block: null,
timestamp: '1746612311',
forkHash: '0xc376cf8b',
},
{
name: 'osaka',
block: null,
timestamp: '1764798551',
forkHash: '0x5167e2a6',
},
{
name: 'bpo1',
block: null,
timestamp: '1765290071',
forkHash: '0xcba2a1c0',
},
{
name: 'bpo2',
block: null,
timestamp: '1767747671',
forkHash: '0x07c9462e',
},
{
name: 'amsterdam',
block: null,
},
],
bootstrapNodes: [
{
ip: '18.138.108.67',
port: 30303,
id: 'd860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666',
location: 'ap-southeast-1-001',
comment: 'bootnode-aws-ap-southeast-1-001',
},
{
ip: '3.209.45.79',
port: 30303,
id: '22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de',
location: 'us-east-1-001',
comment: 'bootnode-aws-us-east-1-001',
},
{
ip: '65.108.70.101',
port: 30303,
id: '2b252ab6a1d0f971d9722cb839a42cb81db019ba44c08754628ab4a823487071b5695317c8ccd085219c3a03af063495b2f1da8d18218da2d6a82981b45e6ffc',
location: 'eu-west-1-001',
comment: 'bootnode-hetzner-hel',
},
{
ip: '157.90.35.166',
port: 30303,
id: '4aeb4ab6c14b23e2c4cfdce879c04b0748a20d8e9b59e25ded2a08143e265c6c25936e74cbc8e641e3312ca288673d91f2f93f8e277de3cfa444ecdaaf982052',
location: 'eu-central-1-001',
comment: 'bootnode-hetzner-fsn',
},
],
dnsNetworks: [
'enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net',
],
}
export const Sepolia: ChainConfig = {
name: 'sepolia',
chainId: 11155111,
defaultHardfork: 'prague',
consensus: {
type: 'pow',
algorithm: 'ethash',
ethash: {},
},
comment: 'PoW test network to replace Ropsten',
url: 'https://github.com/ethereum/go-ethereum/pull/23730',
genesis: {
timestamp: '0x6159af19',
gasLimit: 30000000,
difficulty: 131072,
nonce: '0x0000000000000000',
extraData: '0x5365706f6c69612c20417468656e732c204174746963612c2047726565636521',
},
depositContractAddress: '0x7f02c3e3c98b133055b8b348b2ac625669ed295d',
hardforks: [
{
name: 'chainstart',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'homestead',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'tangerineWhistle',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'spuriousDragon',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'byzantium',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'constantinople',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'petersburg',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'istanbul',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'muirGlacier',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'berlin',
block: 0,
forkHash: '0xfe3366e7',
},
{
name: 'london',
block: 0,
forkHash: '0xfe3366e7',
},
{
// The forkHash will remain same as mergeNetsplitBlock is post merge,
// terminal block: https://sepolia.etherscan.io/block/1450408
name: 'paris',
block: 1450409,
forkHash: '0xfe3366e7',
},
{
name: 'mergeNetsplitBlock',
block: 1735371,
forkHash: '0xb96cbd13',
},
{
name: 'shanghai',
block: null,
timestamp: '1677557088',
forkHash: '0xf7f9bc08',
},
{
name: 'cancun',
block: null,
timestamp: '1706655072',
forkHash: '0x88cf81d9',
},
{
name: 'prague',
block: null,
timestamp: '1741159776',
forkHash: '0xed88b5fd',
},
{
name: 'osaka',
block: null,
timestamp: '1760427360',
forkHash: '0xe2ae4999',
},
{
name: 'bpo1',
block: null,
timestamp: '1761017184',
forkHash: '0x56078a1e',
},
{
name: 'bpo2',
block: null,
timestamp: '1761607008',
forkHash: '0x268956b6',
},
{
name: 'amsterdam',
block: null,
},
],
bootstrapNodes: [
{
ip: '18.168.182.86',
port: 30303,
id: '9246d00bc8fd1742e5ad2428b80fc4dc45d786283e05ef6edbd9002cbc335d40998444732fbe921cb88e1d2c73d1b1de53bae6a2237996e9bfe14f871baf7066',
location: '',
comment: 'geth',
},
{
ip: '52.14.151.177',
port: 30303,
id: 'ec66ddcf1a974950bd4c782789a7e04f8aa7110a72569b6e65fcd51e937e74eed303b1ea734e4d19cfaec9fbff9b6ee65bf31dcb50ba79acce9dd63a6aca61c7',
location: '',
comment: 'besu',
},
{
ip: '165.22.196.173',
port: 30303,
id: 'ce970ad2e9daa9e14593de84a8b49da3d54ccfdf83cbc4fe519cb8b36b5918ed4eab087dedd4a62479b8d50756b492d5f762367c8d20329a7854ec01547568a6',
location: '',
comment: 'EF',
},
{
ip: '65.108.95.67',
port: 30303,
id: '075503b13ed736244896efcde2a992ec0b451357d46cb7a8132c0384721742597fc8f0d91bbb40bb52e7d6e66728d36a1fda09176294e4a30cfac55dcce26bc6',
location: '',
comment: 'lodestar',
},
],
dnsNetworks: [
'enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.sepolia.ethdisco.net',
],
}
export const Holesky: ChainConfig = {
name: 'holesky',
chainId: 17000,
defaultHardfork: 'prague',
consensus: {
type: 'pos',
algorithm: 'casper',
},
comment: 'PoS test network to replace Goerli',
url: 'https://github.com/eth-clients/holesky/',
genesis: {
baseFeePerGas: '0x3B9ACA00',
difficulty: '0x01',
extraData: '0x',
gasLimit: '0x17D7840',
nonce: '0x0000000000001234',
timestamp: '0x65156994',
},
depositContractAddress: '0x4242424242424242424242424242424242424242',
hardforks: [
{
name: 'chainstart',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'homestead',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'tangerineWhistle',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'spuriousDragon',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'byzantium',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'constantinople',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'petersburg',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'istanbul',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'muirGlacier',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'berlin',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'london',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'paris',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'mergeNetsplitBlock',
block: 0,
forkHash: '0xc61a6098',
},
{
name: 'shanghai',
block: null,
timestamp: '1696000704',
forkHash: '0xfd4f016b',
},
{
name: 'cancun',
block: null,
timestamp: '1707305664',
forkHash: '0x9b192ad0',
},
{
name: 'prague',
block: null,
timestamp: '1740434112',
forkHash: '0xdfbd9bed',
},
{
name: 'osaka',
block: null,
timestamp: '1759308480',
forkHash: '0x783def52',
},
{
name: 'bpo1',
block: null,
timestamp: '1759800000',
forkHash: '0xa280a45c',
},
{
name: 'bpo2',
block: null,
timestamp: '1760389824',
forkHash: '0x9bc6cb31',
},
],
bootstrapNodes: [
{
ip: '146.190.13.128',
port: 30303,
id: 'ac906289e4b7f12df423d654c5a962b6ebe5b3a74cc9e06292a85221f9a64a6f1cfdd6b714ed6dacef51578f92b34c60ee91e9ede9c7f8fadc4d347326d95e2b',
location: '',
comment: 'bootnode 1',
},
{
ip: '178.128.136.233',
port: 30303,
id: 'a3435a0155a3e837c02f5e7f5662a2f1fbc25b48e4dc232016e1c51b544cb5b4510ef633ea3278c0e970fa8ad8141e2d4d0f9f95456c537ff05fdf9b31c15072',
location: '',
comment: 'bootnode 2',
},
],
dnsNetworks: [
'enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.holesky.ethdisco.net',
],
}
export const Hoodi: ChainConfig = {
name: 'hoodi',
chainId: 560048,
defaultHardfork: 'prague',
consensus: {
type: 'pos',
algorithm: 'casper',
},
comment: 'PoS test network to replace Holesky',
url: 'https://github.com/eth-clients/hoodi',
genesis: {
baseFeePerGas: '0x3B9ACA00',
difficulty: '0x01',
extraData: '0x',
gasLimit: '0x2255100',
nonce: '0x0000000000001234',
timestamp: '0x67d80ec0',
},
depositContractAddress: '0x00000000219ab540356cBB839Cbe05303d7705Fa',
hardforks: [
{
name: 'chainstart',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'homestead',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'tangerineWhistle',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'spuriousDragon',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'byzantium',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'constantinople',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'petersburg',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'istanbul',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'muirGlacier',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'berlin',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'london',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'paris',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'mergeNetsplitBlock',
block: 0,
forkHash: '0xbef71d30',
},
{
name: 'shanghai',
block: null,
timestamp: '0',
forkHash: '0xbef71d30',
},
{
name: 'cancun',
block: null,
timestamp: '0',
forkHash: '0xbef71d30',
},
{
name: 'prague',
block: null,
timestamp: '1742999832',
forkHash: '0x0929e24e',
},
{
name: 'osaka',
block: null,
timestamp: '1761677592',
forkHash: '0xe7e0e7ff',
},
{
name: 'bpo1',
block: null,
timestamp: '1762365720',
forkHash: '0x3893353e',
},
{
name: 'bpo2',
block: null,
timestamp: '1762955544',
forkHash: '0x23aa1351',
},
{
name: 'amsterdam',
block: null,
},
],
bootstrapNodes: [
{
ip: '134.209.138.84',
port: 30303,
id: '2112dd3839dd752813d4df7f40936f06829fc54c0e051a93967c26e5f5d27d99d886b57b4ffcc3c475e930ec9e79c56ef1dbb7d86ca5ee83a9d2ccf36e5c240c',
location: '',
comment: 'bootnode 1',
},
{
ip: '209.38.124.160',
port: 30303,
id: '60203fcb3524e07c5df60a14ae1c9c5b24023ea5d47463dfae051d2c9f3219f309657537576090ca0ae641f73d419f53d8e8000d7a464319d4784acd7d2abc41',
location: '',
comment: 'bootnode 2',
},
{
ip: '134.199.184.23',
port: 30303,
id: '8ae4a48101b2299597341263da0deb47cc38aa4d3ef4b7430b897d49bfa10eb1ccfe1655679b1ed46928ef177fbf21b86837bd724400196c508427a6f41602cd',
location: '',
comment: 'bootnode 3',
},
],
dnsNetworks: [
'enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.hoodi.ethdisco.net',
],
}