1 // Aleth: Ethereum C++ client, tools and libraries. 2 // Copyright 2014-2019 Aleth Authors. 3 // Licensed under the GNU General Public License, Version 3. 4 5 #pragma once 6 7 #include <string> 8 #include <libdevcore/FixedHash.h> 9 #include <libethcore/Common.h> 10 11 namespace dev 12 { 13 namespace eth 14 { 15 16 /// The network id. 17 enum class Network 18 { 19 ///< Normal Olympic chain. 20 // Olympic = 0, 21 /// Normal Frontier/Homestead/DAO/EIP150/EIP158/Byzantium/Constantinople chain. 22 MainNetwork = 1, 23 /// Normal Morden chain. 24 // Morden = 2, 25 /// New Ropsten Test Network 26 Ropsten = 3, 27 /// MainNetwork rules but without genesis accounts (for transaction tests). 28 MainNetworkTest = 69, 29 /// Normal Frontier/Homestead/DAO/EIP150/EIP158 chain without all the premine. 30 TransitionnetTest = 70, 31 /// Just test the Frontier-era characteristics "forever" (no Homestead portion). 32 FrontierTest = 71, 33 /// Just test the Homestead-era characteristics "forever" (no Frontier portion). 34 HomesteadTest = 72, 35 /// Homestead + EIP150 Rules active from block 0 For BlockchainTests 36 EIP150Test = 73, 37 /// Homestead + EIP150 + EIP158 Rules active from block 0 38 EIP158Test = 74, 39 /// EIP158Test + Byzantium active from block 0 40 ByzantiumTest = 75, 41 /// EIP158Test + Byzantium active from block 2 42 ByzantiumTransitionTest = 76, 43 /// Frontier rules + NoProof seal engine 44 FrontierNoProofTest = 77, 45 /// ByzantiumTest + Constantinople active from block 0 46 ConstantinopleTest = 78, 47 /// ConstantinopleTest + Experimental active from block 2 48 ExperimentalTransitionTest = 79, 49 /// MainNetwork rules without genesis accounts + NoProof seal engine 50 MainNetworkNoProofTest = 80, 51 /// Byzantium rules + NoProof seal engine 52 ByzantiumNoProofTest = 81, 53 /// Constantinople rules + NoProof seal engine 54 ConstantinopleNoProofTest = 82, 55 /// Byzantium + Constantinople + ConstantinopleFix active from block 0 56 ConstantinopleFixTest = 83, 57 /// Istanbul active from block 0 58 IstanbulTest = 84, 59 /// ConstantinopleFixTest + Istanbul active from block 2 60 IstanbulTransitionTest = 85, 61 /// Muir Glacier active from block 0 62 MuirGlacierTest = 86, 63 /// Berlin active from block 0 64 BerlinTest = 87, 65 66 67 // TransitionTest networks 68 FrontierToHomesteadAt5 = 100, 69 HomesteadToDaoAt5 = 101, 70 HomesteadToEIP150At5 = 102, 71 EIP158ToByzantiumAt5 = 103, 72 ByzantiumToConstantinopleFixAt5 = 104, 73 74 Special = 0xff, ///< Something else. 75 qtumMainNetwork = 9, ///< QTUM Homestead + EIP150 + EIP158 Rules active from block 0 to enum class Network 76 qtumTestNetwork = 10 77 }; 78 79 std::string const& genesisInfo(Network _n); 80 h256 const& genesisStateRoot(Network _n); 81 82 } 83 } 84