Documentation ¶
Overview ¶
Copyright 2019 The multi-geth Authors This file is part of the multi-geth library.
The multi-geth library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The multi-geth library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the multi-geth library. If not, see <http://www.gnu.org/licenses/>.
Copyright 2019 The multi-geth Authors This file is part of the multi-geth library.
The multi-geth library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The multi-geth library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the multi-geth library. If not, see <http://www.gnu.org/licenses/>.
Copyright 2021 The multi-geth Authors This file is part of the multi-geth library.
The multi-geth library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The multi-geth library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the multi-geth library. If not, see <http://www.gnu.org/licenses/>.
Copyright 2019 The multi-geth Authors This file is part of the multi-geth library.
The multi-geth library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The multi-geth library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the multi-geth library. If not, see <http://www.gnu.org/licenses/>.
Index ¶
- Constants
- Variables
- func ArchiveVersion(gitCommit string) string
- func DecodeMintmeAlloc(data string) genesisT.GenesisAlloc
- func DefaultClassicGenesisBlock() *genesisT.Genesis
- func DefaultGenesisBlock() *genesisT.Genesis
- func DefaultGoerliGenesisBlock() *genesisT.Genesis
- func DefaultHoleskyGenesisBlock() *genesisT.Genesis
- func DefaultMessNetGenesisBlock() *genesisT.Genesis
- func DefaultMintMeGenesisBlock() *genesisT.Genesis
- func DefaultMordorGenesisBlock() *genesisT.Genesis
- func DefaultSepoliaGenesisBlock() *genesisT.Genesis
- func DeveloperGenesisBlock(gasLimit uint64, faucet *common.Address, useEthash bool) *genesisT.Genesis
- func KnownDNSNetwork(genesis common.Hash, protocol string) string
- func VersionWithCommit(gitCommit, gitDate string) string
Constants ¶
const ( VersionMajor = 1 // Major version component of the current release VersionMinor = 12 // Minor version component of the current release VersionPatch = 21 // Patch version component of the current release VersionMeta = "unstable" // Version metadata to append to the version string VersionName = "CoreGeth" )
Variables ¶
var ( MainnetGenesisHash = common.HexToHash("0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3") HoleskyGenesisHash = common.HexToHash("0xb5f7f912443c940f21fd611f12828d75b534364ed9e95ca4e307729a4661bde4") SepoliaGenesisHash = common.HexToHash("0x25a5cc106eea7138acab33231d7160d69cb777ee0c2c553fcddf5138993e6dd9") GoerliGenesisHash = common.HexToHash("0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a") )
Genesis hashes to enforce below configs on.
var (
MainnetTerminalTotalDifficulty, _ = new(big.Int).SetString("58_750_000_000_000_000_000_000", 0)
// MainnetChainConfig is the chain parameters to run a node on the main network.
MainnetChainConfig = &goethereum.ChainConfig{
ChainID: big.NewInt(1),
SupportedProtocolVersions: vars.DefaultProtocolVersions,
HomesteadBlock: big.NewInt(1_150_000),
DAOForkBlock: big.NewInt(1_920_000),
DAOForkSupport: true,
EIP150Block: big.NewInt(2_463_000),
EIP155Block: big.NewInt(2_675_000),
EIP158Block: big.NewInt(2_675_000),
ByzantiumBlock: big.NewInt(4_370_000),
ConstantinopleBlock: big.NewInt(7_280_000),
PetersburgBlock: big.NewInt(7_280_000),
IstanbulBlock: big.NewInt(9_069_000),
MuirGlacierBlock: big.NewInt(9_200_000),
BerlinBlock: big.NewInt(12_244_000),
LondonBlock: big.NewInt(12_965_000),
ArrowGlacierBlock: big.NewInt(13_773_000),
GrayGlacierBlock: big.NewInt(15_050_000),
TerminalTotalDifficulty: MainnetTerminalTotalDifficulty,
TerminalTotalDifficultyPassed: true,
ShanghaiTime: newUint64(1681338455),
CancunTime: newUint64(1710338135),
Ethash: new(ctypes.EthashConfig),
}
// HoleskyChainConfig contains the chain parameters to run a node on the Holesky test network.
HoleskyChainConfig = &goethereum.ChainConfig{
ChainID: big.NewInt(17000),
HomesteadBlock: big.NewInt(0),
DAOForkBlock: nil,
DAOForkSupport: true,
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(0),
MuirGlacierBlock: nil,
BerlinBlock: big.NewInt(0),
LondonBlock: big.NewInt(0),
ArrowGlacierBlock: nil,
GrayGlacierBlock: nil,
TerminalTotalDifficulty: big.NewInt(0),
TerminalTotalDifficultyPassed: true,
MergeNetsplitBlock: nil,
ShanghaiTime: newUint64(1696000704),
CancunTime: newUint64(1707305664),
Ethash: new(ctypes.EthashConfig),
}
// SepoliaChainConfig contains the chain parameters to run a node on the Sepolia test network.
SepoliaChainConfig = &goethereum.ChainConfig{
ChainID: big.NewInt(11155111),
HomesteadBlock: big.NewInt(0),
DAOForkBlock: nil,
DAOForkSupport: true,
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(0),
MuirGlacierBlock: big.NewInt(0),
BerlinBlock: big.NewInt(0),
LondonBlock: big.NewInt(0),
ArrowGlacierBlock: nil,
GrayGlacierBlock: nil,
TerminalTotalDifficulty: big.NewInt(17_000_000_000_000_000),
TerminalTotalDifficultyPassed: true,
MergeNetsplitBlock: big.NewInt(1735371),
ShanghaiTime: newUint64(1677557088),
CancunTime: newUint64(1706655072),
Ethash: new(ctypes.EthashConfig),
}
// GoerliChainConfig contains the chain parameters to run a node on the Görli test network.
GoerliChainConfig = &goethereum.ChainConfig{
ChainID: big.NewInt(5),
SupportedProtocolVersions: vars.DefaultProtocolVersions,
HomesteadBlock: big.NewInt(0),
DAOForkBlock: nil,
DAOForkSupport: true,
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(1_561_651),
MuirGlacierBlock: nil,
BerlinBlock: big.NewInt(4_460_644),
LondonBlock: big.NewInt(5_062_605),
ArrowGlacierBlock: nil,
TerminalTotalDifficulty: big.NewInt(10_790_000),
TerminalTotalDifficultyPassed: true,
ShanghaiTime: newUint64(1678832736),
CancunTime: newUint64(1705473120),
Clique: &ctypes.CliqueConfig{
Period: 15,
Epoch: 30000,
},
}
// AllEthashProtocolChanges contains every protocol change (EIPs) introduced
// and accepted by the Ethereum core developers into the Ethash consensus.
AllEthashProtocolChanges = &goethereum.ChainConfig{
ChainID: big.NewInt(1337),
HomesteadBlock: big.NewInt(0),
DAOForkBlock: nil,
DAOForkSupport: false,
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(0),
MuirGlacierBlock: big.NewInt(0),
BerlinBlock: big.NewInt(0),
LondonBlock: big.NewInt(0),
ArrowGlacierBlock: big.NewInt(0),
GrayGlacierBlock: big.NewInt(0),
MergeNetsplitBlock: nil,
ShanghaiTime: nil,
CancunTime: nil,
PragueTime: nil,
VerkleTime: nil,
TerminalTotalDifficulty: nil,
TerminalTotalDifficultyPassed: false,
Ethash: new(ctypes.EthashConfig),
Clique: nil,
}
AllDevChainProtocolChanges = &goethereum.ChainConfig{
ChainID: big.NewInt(1337),
HomesteadBlock: big.NewInt(0),
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(0),
MuirGlacierBlock: big.NewInt(0),
BerlinBlock: big.NewInt(0),
LondonBlock: big.NewInt(0),
ArrowGlacierBlock: big.NewInt(0),
GrayGlacierBlock: big.NewInt(0),
ShanghaiTime: newUint64(0),
TerminalTotalDifficulty: big.NewInt(0),
TerminalTotalDifficultyPassed: true,
}
// AllCliqueProtocolChanges contains every protocol change (EIPs) introduced
// and accepted by the Ethereum core developers into the Clique consensus.
AllCliqueProtocolChanges = &goethereum.ChainConfig{
ChainID: big.NewInt(1337),
HomesteadBlock: big.NewInt(0),
DAOForkBlock: nil,
DAOForkSupport: false,
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(0),
MuirGlacierBlock: big.NewInt(0),
BerlinBlock: big.NewInt(0),
LondonBlock: big.NewInt(0),
ArrowGlacierBlock: nil,
GrayGlacierBlock: nil,
MergeNetsplitBlock: nil,
ShanghaiTime: nil,
CancunTime: nil,
PragueTime: nil,
VerkleTime: nil,
TerminalTotalDifficulty: nil,
TerminalTotalDifficultyPassed: false,
Ethash: nil,
Clique: &ctypes.CliqueConfig{
Period: 0,
Epoch: 30000,
},
}
// TestChainConfig contains every protocol change (EIPs) introduced
// and accepted by the Ethereum core developers for testing purposes.
TestChainConfig = &goethereum.ChainConfig{
ChainID: big.NewInt(1),
HomesteadBlock: big.NewInt(0),
DAOForkBlock: nil,
DAOForkSupport: false,
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(0),
MuirGlacierBlock: big.NewInt(0),
BerlinBlock: big.NewInt(0),
LondonBlock: big.NewInt(0),
ArrowGlacierBlock: big.NewInt(0),
GrayGlacierBlock: big.NewInt(0),
MergeNetsplitBlock: nil,
ShanghaiTime: nil,
CancunTime: nil,
PragueTime: nil,
VerkleTime: nil,
TerminalTotalDifficulty: nil,
TerminalTotalDifficultyPassed: false,
Ethash: new(ctypes.EthashConfig),
Clique: nil,
}
// MergedTestChainConfig contains every protocol change (EIPs) introduced
// and accepted by the Ethereum core developers for testing purposes.
MergedTestChainConfig = &goethereum.ChainConfig{
ChainID: big.NewInt(1),
HomesteadBlock: big.NewInt(0),
DAOForkBlock: nil,
DAOForkSupport: false,
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(0),
MuirGlacierBlock: big.NewInt(0),
BerlinBlock: big.NewInt(0),
LondonBlock: big.NewInt(0),
ArrowGlacierBlock: big.NewInt(0),
GrayGlacierBlock: big.NewInt(0),
MergeNetsplitBlock: big.NewInt(0),
ShanghaiTime: newUint64(0),
CancunTime: newUint64(0),
PragueTime: nil,
VerkleTime: nil,
TerminalTotalDifficulty: big.NewInt(0),
TerminalTotalDifficultyPassed: true,
Ethash: new(ctypes.EthashConfig),
Clique: nil,
}
// NonActivatedConfig defines the chain configuration without activating
// any protocol change (EIPs).
NonActivatedConfig = &goethereum.ChainConfig{
ChainID: big.NewInt(1),
HomesteadBlock: nil,
DAOForkBlock: nil,
DAOForkSupport: false,
EIP150Block: nil,
EIP155Block: nil,
EIP158Block: nil,
ByzantiumBlock: nil,
ConstantinopleBlock: nil,
PetersburgBlock: nil,
IstanbulBlock: nil,
MuirGlacierBlock: nil,
BerlinBlock: nil,
LondonBlock: nil,
ArrowGlacierBlock: nil,
GrayGlacierBlock: nil,
MergeNetsplitBlock: nil,
ShanghaiTime: nil,
CancunTime: nil,
PragueTime: nil,
VerkleTime: nil,
TerminalTotalDifficulty: nil,
TerminalTotalDifficultyPassed: false,
Ethash: new(ctypes.EthashConfig),
Clique: nil,
}
)
var ( // ClassicChainConfig is the chain parameters to run a node on the Classic main network. ClassicChainConfig = &coregeth.CoreGethChainConfig{ NetworkID: 1, Ethash: new(ctypes.EthashConfig), ChainID: big.NewInt(61), SupportedProtocolVersions: vars.DefaultProtocolVersions, EIP2FBlock: big.NewInt(1150000), EIP7FBlock: big.NewInt(1150000), EIP150Block: big.NewInt(2500000), EIP155Block: big.NewInt(3000000), EIP160FBlock: big.NewInt(3000000), ECIP1010PauseBlock: big.NewInt(3000000), ECIP1010Length: big.NewInt(2000000), ECIP1017FBlock: big.NewInt(5000000), ECIP1017EraRounds: big.NewInt(5000000), DisposalBlock: big.NewInt(5900000), EIP161FBlock: big.NewInt(8772000), EIP170FBlock: big.NewInt(8772000), EIP100FBlock: big.NewInt(8772000), EIP140FBlock: big.NewInt(8772000), EIP198FBlock: big.NewInt(8772000), EIP211FBlock: big.NewInt(8772000), EIP212FBlock: big.NewInt(8772000), EIP213FBlock: big.NewInt(8772000), EIP214FBlock: big.NewInt(8772000), EIP658FBlock: big.NewInt(8772000), EIP145FBlock: big.NewInt(9573000), EIP1014FBlock: big.NewInt(9573000), EIP1052FBlock: big.NewInt(9573000), EIP152FBlock: big.NewInt(10_500_839), EIP1108FBlock: big.NewInt(10_500_839), EIP1344FBlock: big.NewInt(10_500_839), EIP1884FBlock: big.NewInt(10_500_839), EIP2028FBlock: big.NewInt(10_500_839), EIP2200FBlock: big.NewInt(10_500_839), ECBP1100FBlock: big.NewInt(11_380_000), ECBP1100DeactivateFBlock: big.NewInt(19_250_000), ECIP1099FBlock: big.NewInt(11_700_000), EIP2565FBlock: big.NewInt(13_189_133), EIP2718FBlock: big.NewInt(13_189_133), EIP2929FBlock: big.NewInt(13_189_133), EIP2930FBlock: big.NewInt(13_189_133), EIP3529FBlock: big.NewInt(14_525_000), EIP3541FBlock: big.NewInt(14_525_000), EIP3651FBlock: big.NewInt(19_250_000), EIP3855FBlock: big.NewInt(19_250_000), EIP3860FBlock: big.NewInt(19_250_000), EIP6049FBlock: big.NewInt(19_250_000), RequireBlockHashes: map[uint64]common.Hash{ 1920000: common.HexToHash("0x94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f"), 2500000: common.HexToHash("0xca12c63534f565899681965528d536c52cb05b7c48e269c2a6cb77ad864d878a"), }, } DisinflationRateQuotient = uint256.NewInt(4) // Disinflation rate quotient for ECIP1017 DisinflationRateDivisor = uint256.NewInt(5) // Disinflation rate divisor for ECIP1017 ExpDiffPeriod = uint256.NewInt(100000) // Exponential diff period for diff bomb & ECIP1010 MessNetConfig = &coregeth.CoreGethChainConfig{ NetworkID: 1, Ethash: new(ctypes.EthashConfig), ChainID: big.NewInt(6161), SupportedProtocolVersions: vars.DefaultProtocolVersions, EIP2FBlock: big.NewInt(1), EIP7FBlock: big.NewInt(1), DAOForkBlock: nil, EIP150Block: big.NewInt(2), EIP155Block: big.NewInt(3), EIP160FBlock: big.NewInt(3), EIP161FBlock: big.NewInt(8), EIP170FBlock: big.NewInt(8), EIP100FBlock: big.NewInt(8), EIP140FBlock: big.NewInt(8), EIP198FBlock: big.NewInt(8), EIP211FBlock: big.NewInt(8), EIP212FBlock: big.NewInt(8), EIP213FBlock: big.NewInt(8), EIP214FBlock: big.NewInt(8), EIP658FBlock: big.NewInt(8), EIP145FBlock: big.NewInt(9), EIP1014FBlock: big.NewInt(9), EIP1052FBlock: big.NewInt(9), EIP152FBlock: big.NewInt(10), EIP1108FBlock: big.NewInt(10), EIP1344FBlock: big.NewInt(10), EIP1884FBlock: big.NewInt(10), EIP2028FBlock: big.NewInt(10), EIP2200FBlock: big.NewInt(10), EIP2565FBlock: big.NewInt(11), EIP2718FBlock: big.NewInt(11), EIP2929FBlock: big.NewInt(11), EIP2930FBlock: big.NewInt(11), DisposalBlock: big.NewInt(5), ECIP1017FBlock: big.NewInt(5), ECIP1017EraRounds: big.NewInt(5000), ECIP1010PauseBlock: big.NewInt(3), ECIP1010Length: big.NewInt(2), ECBP1100FBlock: big.NewInt(11), } )
var CheckpointOracles = map[common.Hash]*ctypes.CheckpointOracleConfig{}
CheckpointOracles associates each known checkpoint oracles with the genesis hash of the chain it belongs to.
var ClassicBootnodes = []string{
"enode://6b6ea53a498f0895c10269a3a74b777286bd467de6425c3b512740fcc7fbc8cd281dca4ab041dd97d62b38f3d0b5b05e71f48d28a3a2f4b5de40fe1f6bf05531@157.245.77.211:30303",
"enode://16264d48df59c3492972d96bf8a39dd38bab165809a3a4bb161859a337de38b2959cc98efea94355c7a7177cd020867c683aed934dbd6bc937d9e6b61d94d8d9@64.225.0.245:30303",
"enode://55bbc7f0ffa2af2ceca997ec195a98768144a163d389ae87b808dff8a861618405c2582451bbb6022e429e4bcd6b0e895e86160db6e93cdadbcfd80faacf6f06@164.90.144.106:30303",
}
ClassicBootnodes are the enode URLs of the P2P bootstrap nodes running on the Ethereum Classic network.
var ClassicDNSNetwork1 = dnsPrefixETC + "all.classic.blockd.info"
var GoerliBootnodes = []string{
"enode://011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a@51.141.78.53:30303",
"enode://176b9417f511d05b6b2cf3e34b756cf0a7096b3094572a8f6ef4cdcb9d1f9d00683bf0f83347eebdf3b81c3521c2332086d9592802230bf528eaf606a1d9677b@13.93.54.137:30303",
"enode://46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291@94.237.54.114:30313",
"enode://b5948a2d3e9d486c4d75bf32713221c2bd6cf86463302339299bd227dc2e276cd5a1c7ca4f43a0e9122fe9af884efed563bd2a1fd28661f3b5f5ad7bf1de5949@18.218.250.66:30303",
"enode://a61215641fb8714a373c80edbfa0ea8878243193f57c96eeb44d0bc019ef295abd4e044fd619bfc4c59731a73fb79afe84e9ab6da0c743ceb479cbb6d263fa91@3.11.147.67:30303",
"enode://d4f764a48ec2a8ecf883735776fdefe0a3949eb0ca476bd7bc8d0954a9defe8fea15ae5da7d40b5d2d59ce9524a99daedadf6da6283fca492cc80b53689fb3b3@46.4.99.122:32109",
"enode://d2b720352e8216c9efc470091aa91ddafc53e222b32780f505c817ceef69e01d5b0b0797b69db254c586f493872352f5a022b4d8479a00fc92ec55f9ad46a27e@88.99.70.182:30303",
}
GoerliBootnodes are the enode URLs of the P2P bootstrap nodes running on the Görli test network.
var HoleskyBootnodes = []string{
"enode://ac906289e4b7f12df423d654c5a962b6ebe5b3a74cc9e06292a85221f9a64a6f1cfdd6b714ed6dacef51578f92b34c60ee91e9ede9c7f8fadc4d347326d95e2b@146.190.13.128:30303",
"enode://a3435a0155a3e837c02f5e7f5662a2f1fbc25b48e4dc232016e1c51b544cb5b4510ef633ea3278c0e970fa8ad8141e2d4d0f9f95456c537ff05fdf9b31c15072@178.128.136.233:30303",
}
HoleskyBootnodes are the enode URLs of the P2P bootstrap nodes running on the Holesky test network.
var MainnetBootnodes = []string{
"enode://d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666@18.138.108.67:30303",
"enode://22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de@3.209.45.79:30303",
"enode://2b252ab6a1d0f971d9722cb839a42cb81db019ba44c08754628ab4a823487071b5695317c8ccd085219c3a03af063495b2f1da8d18218da2d6a82981b45e6ffc@65.108.70.101:30303",
"enode://4aeb4ab6c14b23e2c4cfdce879c04b0748a20d8e9b59e25ded2a08143e265c6c25936e74cbc8e641e3312ca288673d91f2f93f8e277de3cfa444ecdaaf982052@157.90.35.166:30303",
}
MainnetBootnodes are the enode URLs of the P2P bootstrap nodes running on the main Ethereum network.
var MintMeBootnodes = []string{
"enode://ce9c7db505ad747672f3f6871d95db3921d601bad5e193516e5093090ebe693977221a643e41acca1bd4fbef9acc3942928cdcfb10129735b7aacc01d7961e4b@212.32.255.80:30303",
"enode://6de21b1dbc9f40fa16ead64289ad59250647af46d7d653a37d38a6d62a4d9b689d894d6b1346728a9fe165e743f98a021a8c60acd10d140d0dce3e2eef035435@212.32.255.195:30303",
}
MintMeBootnodes are the enode URLs of the P2P bootstrap nodes running reliably and availably on the MintMe network.
var ( // MintMeChainConfig is the chain parameters to run a node on the MINTME main network. MintMeChainConfig = &coregeth.CoreGethChainConfig{ NetworkID: 37480, ChainID: big.NewInt(24734), Lyra2: new(ctypes.Lyra2Config), EIP2FBlock: big.NewInt(0), EIP7FBlock: big.NewInt(0), EIP150Block: big.NewInt(0), EIP155Block: big.NewInt(0), EIP160FBlock: big.NewInt(0), EIP161FBlock: big.NewInt(0), EIP170FBlock: big.NewInt(0), EIP100FBlock: big.NewInt(0), EIP140FBlock: big.NewInt(0), EIP198FBlock: big.NewInt(0), EIP211FBlock: big.NewInt(0), EIP212FBlock: big.NewInt(0), EIP213FBlock: big.NewInt(0), EIP214FBlock: big.NewInt(0), EIP658FBlock: big.NewInt(0), EIP145FBlock: big.NewInt(0), EIP1014FBlock: big.NewInt(0), EIP1052FBlock: big.NewInt(0), EIP152FBlock: big.NewInt(0), EIP1108FBlock: big.NewInt(0), EIP1344FBlock: big.NewInt(0), EIP1884FBlock: big.NewInt(0), EIP2028FBlock: big.NewInt(0), EIP2200FBlock: big.NewInt(0), ECIP1099FBlock: nil, DisposalBlock: big.NewInt(0), ECIP1017FBlock: nil, ECIP1017EraRounds: nil, ECIP1010PauseBlock: nil, ECIP1010Length: nil, ECBP1100FBlock: nil, RequireBlockHashes: map[uint64]common.Hash{}, Lyra2NonceTransitionBlock: big.NewInt(252500), } )
var MintMeGenesisHash = common.HexToHash("0x13d1952f29df2a702b3beae629e5b8297c56e401c4c1094bccb3e5febae099c3")
var MordorBootnodes = []string{
"enode://4539a067ae1f6a7ffac509603ba37baf772fc832880ddc67c53f292b6199fb048267f0311c820bc90bfd39ec663bc6b5256bdf787ec38425c82bde6bc2bcfe3c@24.199.107.164:30303",
}
MordorBootnodes are the enode URLs of the P2P bootstrap nodes running on the Ethereum Classic Mordor network. https://github.com/etclabscore/mordor/blob/master/static-nodes.json
var ( // MordorChainConfig is the chain parameters to run a node on the Ethereum Classic Mordor test network (PoW). MordorChainConfig = &coregeth.CoreGethChainConfig{ NetworkID: 7, ChainID: big.NewInt(63), SupportedProtocolVersions: vars.DefaultProtocolVersions, Ethash: new(ctypes.EthashConfig), EIP2FBlock: big.NewInt(0), EIP7FBlock: big.NewInt(0), EIP150Block: big.NewInt(0), EIP155Block: big.NewInt(0), EIP160FBlock: big.NewInt(0), EIP161FBlock: big.NewInt(0), EIP170FBlock: big.NewInt(0), EIP100FBlock: big.NewInt(0), EIP140FBlock: big.NewInt(0), EIP198FBlock: big.NewInt(0), EIP211FBlock: big.NewInt(0), EIP212FBlock: big.NewInt(0), EIP213FBlock: big.NewInt(0), EIP214FBlock: big.NewInt(0), EIP658FBlock: big.NewInt(0), EIP145FBlock: big.NewInt(301243), EIP1014FBlock: big.NewInt(301243), EIP1052FBlock: big.NewInt(301243), EIP152FBlock: big.NewInt(999_983), EIP1108FBlock: big.NewInt(999_983), EIP1344FBlock: big.NewInt(999_983), EIP1884FBlock: big.NewInt(999_983), EIP2028FBlock: big.NewInt(999_983), EIP2200FBlock: big.NewInt(999_983), EIP2565FBlock: big.NewInt(3_985_893), EIP2718FBlock: big.NewInt(3_985_893), EIP2929FBlock: big.NewInt(3_985_893), EIP2930FBlock: big.NewInt(3_985_893), ECIP1099FBlock: big.NewInt(2_520_000), EIP3529FBlock: big.NewInt(5_520_000), EIP3541FBlock: big.NewInt(5_520_000), EIP3651FBlock: big.NewInt(9_957_000), EIP3855FBlock: big.NewInt(9_957_000), EIP3860FBlock: big.NewInt(9_957_000), EIP6049FBlock: big.NewInt(9_957_000), DisposalBlock: big.NewInt(0), ECIP1017FBlock: big.NewInt(0), ECIP1017EraRounds: big.NewInt(2000000), ECIP1010PauseBlock: nil, ECIP1010Length: nil, ECBP1100FBlock: big.NewInt(2380000), ECBP1100DeactivateFBlock: big.NewInt(10_400_000), RequireBlockHashes: map[uint64]common.Hash{ 840013: common.HexToHash("0x2ceada2b191879b71a5bcf2241dd9bc50d6d953f1640e62f9c2cee941dc61c9d"), 840014: common.HexToHash("0x8ec29dd692c8985b82410817bac232fc82805b746538d17bc924624fe74a0fcf"), }, } )
var MordorDNSNetwork1 = dnsPrefixETC + "all.mordor.blockd.info"
var MordorGenesisHash = common.HexToHash("0xa68ebde7932eccb177d38d55dcc6461a019dd795a681e59b5a3e4f3a7259a3f1")
var NetworkNames = map[string]string{ MainnetChainConfig.ChainID.String(): "mainnet", GoerliChainConfig.ChainID.String(): "goerli", SepoliaChainConfig.ChainID.String(): "sepolia", HoleskyChainConfig.ChainID.String(): "holesky", }
NetworkNames are user friendly names to use in the chain spec banner.
var SepoliaBootnodes = []string{
"enode://4e5e92199ee224a01932a377160aa432f31d0b351f84ab413a8e0a42f4f36476f8fb1cbe914af0d9aef0d51665c214cf653c651c4bbd9d5550a934f241f1682b@138.197.51.181:30303",
"enode://143e11fb766781d22d92a2e33f8f104cddae4411a122295ed1fdb6638de96a6ce65f5b7c964ba3763bba27961738fef7d3ecc739268f3e5e771fb4c87b6234ba@146.190.1.103:30303",
"enode://8b61dc2d06c3f96fddcbebb0efb29d60d3598650275dc469c22229d3e5620369b0d3dedafd929835fe7f489618f19f456fe7c0df572bf2d914a9f4e006f783a9@170.64.250.88:30303",
"enode://10d62eff032205fcef19497f35ca8477bea0eadfff6d769a147e895d8b2b8f8ae6341630c645c30f5df6e67547c03494ced3d9c5764e8622a26587b083b028e8@139.59.49.206:30303",
"enode://9e9492e2e8836114cc75f5b929784f4f46c324ad01daf87d956f98b3b6c5fcba95524d6e5cf9861dc96a2c8a171ea7105bb554a197455058de185fa870970c7c@138.68.123.152:30303",
}
SepoliaBootnodes are the enode URLs of the P2P bootstrap nodes running on the Sepolia test network.
var V5Bootnodes = []string{
"enr:-KG4QMOEswP62yzDjSwWS4YEjtTZ5PO6r65CPqYBkgTTkrpaedQ8uEUo1uMALtJIvb2w_WWEVmg5yt1UAuK1ftxUU7QDhGV0aDKQu6TalgMAAAD__________4JpZIJ2NIJpcIQEnfA2iXNlY3AyNTZrMaEDfol8oLr6XJ7FsdAYE7lpJhKMls4G_v6qQOGKJUWGb_uDdGNwgiMog3VkcIIjKA",
"enr:-KG4QF4B5WrlFcRhUU6dZETwY5ZzAXnA0vGC__L1Kdw602nDZwXSTs5RFXFIFUnbQJmhNGVU6OIX7KVrCSTODsz1tK4DhGV0aDKQu6TalgMAAAD__________4JpZIJ2NIJpcIQExNYEiXNlY3AyNTZrMaECQmM9vp7KhaXhI-nqL_R0ovULLCFSFTa9CPPSdb1zPX6DdGNwgiMog3VkcIIjKA",
"enr:-Ku4QImhMc1z8yCiNJ1TyUxdcfNucje3BGwEHzodEZUan8PherEo4sF7pPHPSIB1NNuSg5fZy7qFsjmUKs2ea1Whi0EBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD1pf1CAAAAAP__________gmlkgnY0gmlwhBLf22SJc2VjcDI1NmsxoQOVphkDqal4QzPMksc5wnpuC3gvSC8AfbFOnZY_On34wIN1ZHCCIyg",
"enr:-Ku4QP2xDnEtUXIjzJ_DhlCRN9SN99RYQPJL92TMlSv7U5C1YnYLjwOQHgZIUXw6c-BvRg2Yc2QsZxxoS_pPRVe0yK8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD1pf1CAAAAAP__________gmlkgnY0gmlwhBLf22SJc2VjcDI1NmsxoQMeFF5GrS7UZpAH2Ly84aLK-TyvH-dRo0JM1i8yygH50YN1ZHCCJxA",
"enr:-Ku4QPp9z1W4tAO8Ber_NQierYaOStqhDqQdOPY3bB3jDgkjcbk6YrEnVYIiCBbTxuar3CzS528d2iE7TdJsrL-dEKoBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD1pf1CAAAAAP__________gmlkgnY0gmlwhBLf22SJc2VjcDI1NmsxoQMw5fqqkw2hHC4F5HZZDPsNmPdB1Gi8JPQK7pRc9XHh-oN1ZHCCKvg",
"enr:-Le4QPUXJS2BTORXxyx2Ia-9ae4YqA_JWX3ssj4E_J-3z1A-HmFGrU8BpvpqhNabayXeOZ2Nq_sbeDgtzMJpLLnXFgAChGV0aDKQtTA_KgEAAAAAIgEAAAAAAIJpZIJ2NIJpcISsaa0Zg2lwNpAkAIkHAAAAAPA8kv_-awoTiXNlY3AyNTZrMaEDHAD2JKYevx89W0CcFJFiskdcEzkH_Wdv9iW42qLK79ODdWRwgiMohHVkcDaCI4I",
"enr:-Le4QLHZDSvkLfqgEo8IWGG96h6mxwe_PsggC20CL3neLBjfXLGAQFOPSltZ7oP6ol54OvaNqO02Rnvb8YmDR274uq8ChGV0aDKQtTA_KgEAAAAAIgEAAAAAAIJpZIJ2NIJpcISLosQxg2lwNpAqAX4AAAAAAPA8kv_-ax65iXNlY3AyNTZrMaEDBJj7_dLFACaxBfaI8KZTh_SSJUjhyAyfshimvSqo22WDdWRwgiMohHVkcDaCI4I",
"enr:-Le4QH6LQrusDbAHPjU_HcKOuMeXfdEB5NJyXgHWFadfHgiySqeDyusQMvfphdYWOzuSZO9Uq2AMRJR5O4ip7OvVma8BhGV0aDKQtTA_KgEAAAAAIgEAAAAAAIJpZIJ2NIJpcISLY9ncg2lwNpAkAh8AgQIBAAAAAAAAAAmXiXNlY3AyNTZrMaECDYCZTZEksF-kmgPholqgVt8IXr-8L7Nu7YrZ7HUpgxmDdWRwgiMohHVkcDaCI4I",
"enr:-Le4QIqLuWybHNONr933Lk0dcMmAB5WgvGKRyDihy1wHDIVlNuuztX62W51voT4I8qD34GcTEOTmag1bcdZ_8aaT4NUBhGV0aDKQtTA_KgEAAAAAIgEAAAAAAIJpZIJ2NIJpcISLY04ng2lwNpAkAh8AgAIBAAAAAAAAAA-fiXNlY3AyNTZrMaEDscnRV6n1m-D9ID5UsURk0jsoKNXt1TIrj8uKOGW6iluDdWRwgiMohHVkcDaCI4I",
"enr:-Ku4QHqVeJ8PPICcWk1vSn_XcSkjOkNiTg6Fmii5j6vUQgvzMc9L1goFnLKgXqBJspJjIsB91LTOleFmyWWrFVATGngBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhAMRHkWJc2VjcDI1NmsxoQKLVXFOhp2uX6jeT0DvvDpPcU8FWMjQdR4wMuORMhpX24N1ZHCCIyg",
"enr:-Ku4QG-2_Md3sZIAUebGYT6g0SMskIml77l6yR-M_JXc-UdNHCmHQeOiMLbylPejyJsdAPsTHJyjJB2sYGDLe0dn8uYBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhBLY-NyJc2VjcDI1NmsxoQORcM6e19T1T9gi7jxEZjk_sjVLGFscUNqAY9obgZaxbIN1ZHCCIyg",
"enr:-Ku4QPn5eVhcoF1opaFEvg1b6JNFD2rqVkHQ8HApOKK61OIcIXD127bKWgAtbwI7pnxx6cDyk_nI88TrZKQaGMZj0q0Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhDayLMaJc2VjcDI1NmsxoQK2sBOLGcUb4AwuYzFuAVCaNHA-dy24UuEKkeFNgCVCsIN1ZHCCIyg",
"enr:-Ku4QEWzdnVtXc2Q0ZVigfCGggOVB2Vc1ZCPEc6j21NIFLODSJbvNaef1g4PxhPwl_3kax86YPheFUSLXPRs98vvYsoBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhDZBrP2Jc2VjcDI1NmsxoQM6jr8Rb1ktLEsVcKAPa08wCsKUmvoQ8khiOl_SLozf9IN1ZHCCIyg",
"enr:-LK4QA8FfhaAjlb_BXsXxSfiysR7R52Nhi9JBt4F8SPssu8hdE1BXQQEtVDC3qStCW60LSO7hEsVHv5zm8_6Vnjhcn0Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhAN4aBKJc2VjcDI1NmsxoQJerDhsJ-KxZ8sHySMOCmTO6sHM3iCFQ6VMvLTe948MyYN0Y3CCI4yDdWRwgiOM",
"enr:-LK4QKWrXTpV9T78hNG6s8AM6IO4XH9kFT91uZtFg1GcsJ6dKovDOr1jtAAFPnS2lvNltkOGA9k29BUN7lFh_sjuc9QBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhANAdd-Jc2VjcDI1NmsxoQLQa6ai7y9PMN5hpLe5HmiJSlYzMuzP7ZhwRiwHvqNXdoN0Y3CCI4yDdWRwgiOM",
}
var Version = func() string { return fmt.Sprintf("%d.%d.%d", VersionMajor, VersionMinor, VersionPatch) }()
Version holds the textual version string.
var VersionWithMeta = func() string { v := Version if VersionMeta != "" { v += "-" + VersionMeta } return v }()
VersionWithMeta holds the textual version string including the metadata.
Functions ¶
func ArchiveVersion ¶
ArchiveVersion holds the textual version string used for Geth archives. e.g. "1.8.11-dea1ce05" for stable releases, or "1.8.13-unstable-21c059b6" for unstable releases.
func DecodeMintmeAlloc ¶
func DecodeMintmeAlloc(data string) genesisT.GenesisAlloc
func DefaultClassicGenesisBlock ¶
ClassicGenesisBlock returns the Ethereum Classic genesis block.
func DefaultGenesisBlock ¶
DefaultGenesisBlock returns the Ethereum main net genesis block.
func DefaultGoerliGenesisBlock ¶
DefaultGoerliGenesisBlock returns the Görli network genesis block.
func DefaultHoleskyGenesisBlock ¶
DefaultHoleskyGenesisBlock returns the Holesky network genesis block.
func DefaultSepoliaGenesisBlock ¶
DefaultSepoliaGenesisBlock returns the Sepolia network genesis block.
func DeveloperGenesisBlock ¶
func DeveloperGenesisBlock(gasLimit uint64, faucet *common.Address, useEthash bool) *genesisT.Genesis
DeveloperGenesisBlock returns the 'geth --dev' genesis block. Note, this must be seeded with the
func KnownDNSNetwork ¶
KnownDNSNetwork returns the address of a public DNS-based node list for the given genesis hash and protocol. See https://github.com/ethereum/discv4-dns-lists for more information.
func VersionWithCommit ¶
Types ¶
This section is empty.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
generic
Package generic implements logic that should be applied for all data types available as configuration parameter implementations.
|
Package generic implements logic that should be applied for all data types available as configuration parameter implementations. |
tconvert
Package tconvert and included logic should be removed eventually.
|
Package tconvert and included logic should be removed eventually. |