mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-17 21:32:00 +01:00
consensus: drop testnet3
This drops the chain parameters and ChainType::TESTNET.
This commit is contained in:
parent
a6fbf76116
commit
5462b35f90
@ -446,8 +446,6 @@ private:
|
||||
switch (gArgs.GetChainType()) {
|
||||
case ChainType::TESTNET4:
|
||||
return " testnet4";
|
||||
case ChainType::TESTNET:
|
||||
return " testnet";
|
||||
case ChainType::SIGNET:
|
||||
return " signet";
|
||||
case ChainType::REGTEST:
|
||||
|
@ -112,8 +112,6 @@ std::unique_ptr<const CChainParams> CreateChainParams(const ArgsManager& args, c
|
||||
switch (chain) {
|
||||
case ChainType::MAIN:
|
||||
return CChainParams::Main();
|
||||
case ChainType::TESTNET:
|
||||
return CChainParams::TestNet();
|
||||
case ChainType::TESTNET4:
|
||||
return CChainParams::TestNet4();
|
||||
case ChainType::SIGNET: {
|
||||
|
@ -41,8 +41,6 @@ std::unique_ptr<CBaseChainParams> CreateBaseChainParams(const ChainType chain)
|
||||
switch (chain) {
|
||||
case ChainType::MAIN:
|
||||
return std::make_unique<CBaseChainParams>("", 8332);
|
||||
case ChainType::TESTNET:
|
||||
return std::make_unique<CBaseChainParams>("testnet3", 18332);
|
||||
case ChainType::TESTNET4:
|
||||
return std::make_unique<CBaseChainParams>("testnet4", 48332);
|
||||
case ChainType::SIGNET:
|
||||
|
@ -52,6 +52,6 @@ const CBaseChainParams& BaseParams();
|
||||
void SelectBaseParams(const ChainType chain);
|
||||
|
||||
/** List of possible chain / network names */
|
||||
#define LIST_CHAIN_NAMES "main, test, testnet4, signet, regtest"
|
||||
#define LIST_CHAIN_NAMES "main, testnet4, signet, regtest"
|
||||
|
||||
#endif // BITCOIN_CHAINPARAMSBASE_H
|
||||
|
@ -191,101 +191,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Testnet (v3): public test network which is reset from time to time.
|
||||
*/
|
||||
class CTestNetParams : public CChainParams {
|
||||
public:
|
||||
CTestNetParams() {
|
||||
m_chain_type = ChainType::TESTNET;
|
||||
consensus.signet_blocks = false;
|
||||
consensus.signet_challenge.clear();
|
||||
consensus.nSubsidyHalvingInterval = 210000;
|
||||
consensus.script_flag_exceptions.emplace( // BIP16 exception
|
||||
uint256{"00000000dd30457c001f4095d208cc1296b0eed002427aa599874af7a432b105"}, SCRIPT_VERIFY_NONE);
|
||||
consensus.BIP34Height = 21111;
|
||||
consensus.BIP34Hash = uint256{"0000000023b3a96d3484e5abb3755c413e7d41500f8e2a5c3f0dd01299cd8ef8"};
|
||||
consensus.BIP65Height = 581885; // 00000000007f6655f22f98e72ed80d8b06dc761d5da09df0fa1dc4be4f861eb6
|
||||
consensus.BIP66Height = 330776; // 000000002104c8c45e99a8853285a3b592602a3ccde2b832481da85e9e4ba182
|
||||
consensus.CSVHeight = 770112; // 00000000025e930139bac5c6c31a403776da130831ab85be56578f3fa75369bb
|
||||
consensus.SegwitHeight = 834624; // 00000000002b980fcd729daaa248fd9316a5200e9b367f4ff2c42453e84201ca
|
||||
consensus.MinBIP9WarningHeight = 836640; // segwit activation height + miner confirmation window
|
||||
consensus.powLimit = uint256{"00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff"};
|
||||
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
|
||||
consensus.nPowTargetSpacing = 10 * 60;
|
||||
consensus.fPowAllowMinDifficultyBlocks = true;
|
||||
consensus.enforce_BIP94 = false;
|
||||
consensus.fPowNoRetargeting = false;
|
||||
consensus.nRuleChangeActivationThreshold = 1512; // 75% for testchains
|
||||
consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = Consensus::BIP9Deployment::NEVER_ACTIVE;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0; // No activation delay
|
||||
|
||||
// Deployment of Taproot (BIPs 340-342)
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].bit = 2;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nStartTime = 1619222400; // April 24th, 2021
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay
|
||||
|
||||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000015f5e0c9f13455b0eb17"};
|
||||
consensus.defaultAssumeValid = uint256{"00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57"}; // 3974606
|
||||
|
||||
pchMessageStart[0] = 0x0b;
|
||||
pchMessageStart[1] = 0x11;
|
||||
pchMessageStart[2] = 0x09;
|
||||
pchMessageStart[3] = 0x07;
|
||||
nDefaultPort = 18333;
|
||||
nPruneAfterHeight = 1000;
|
||||
m_assumed_blockchain_size = 200;
|
||||
m_assumed_chain_state_size = 19;
|
||||
|
||||
genesis = CreateGenesisBlock(1296688602, 414098458, 0x1d00ffff, 1, 50 * COIN);
|
||||
consensus.hashGenesisBlock = genesis.GetHash();
|
||||
assert(consensus.hashGenesisBlock == uint256{"000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943"});
|
||||
assert(genesis.hashMerkleRoot == uint256{"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"});
|
||||
|
||||
vFixedSeeds.clear();
|
||||
vSeeds.clear();
|
||||
// nodes with support for servicebits filtering should be at the top
|
||||
vSeeds.emplace_back("testnet-seed.bitcoin.jonasschnelli.ch.");
|
||||
vSeeds.emplace_back("seed.tbtc.petertodd.net.");
|
||||
vSeeds.emplace_back("seed.testnet.bitcoin.sprovoost.nl.");
|
||||
vSeeds.emplace_back("testnet-seed.bluematt.me."); // Just a static list of stable node(s), only supports x9
|
||||
vSeeds.emplace_back("seed.testnet.achownodes.xyz."); // Ava Chow, only supports x1, x5, x9, x49, x809, x849, xd, x400, x404, x408, x448, xc08, xc48, x40c
|
||||
|
||||
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111);
|
||||
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,196);
|
||||
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,239);
|
||||
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
|
||||
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};
|
||||
|
||||
bech32_hrp = "tb";
|
||||
|
||||
vFixedSeeds = std::vector<uint8_t>(std::begin(chainparams_seed_test), std::end(chainparams_seed_test));
|
||||
|
||||
fDefaultConsistencyChecks = false;
|
||||
m_is_mockable_chain = false;
|
||||
|
||||
m_assumeutxo_data = {
|
||||
{
|
||||
.height = 2'500'000,
|
||||
.hash_serialized = AssumeutxoHash{uint256{"f841584909f68e47897952345234e37fcd9128cd818f41ee6c3ca68db8071be7"}},
|
||||
.m_chain_tx_count = 66484552,
|
||||
.blockhash = consteval_ctor(uint256{"0000000000000093bcb68c03a9a168ae252572d348a2eaeba2cdf9231d73206f"}),
|
||||
}
|
||||
};
|
||||
|
||||
chainTxData = ChainTxData{
|
||||
// Data from RPC: getchaintxstats 4096 00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57
|
||||
.nTime = 1741042082,
|
||||
.tx_count = 475477615,
|
||||
.dTxRate = 17.15933950357594,
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Testnet (v4): public test network which is reset from time to time.
|
||||
*/
|
||||
@ -633,11 +538,6 @@ std::unique_ptr<const CChainParams> CChainParams::Main()
|
||||
return std::make_unique<const CMainParams>();
|
||||
}
|
||||
|
||||
std::unique_ptr<const CChainParams> CChainParams::TestNet()
|
||||
{
|
||||
return std::make_unique<const CTestNetParams>();
|
||||
}
|
||||
|
||||
std::unique_ptr<const CChainParams> CChainParams::TestNet4()
|
||||
{
|
||||
return std::make_unique<const CTestNet4Params>();
|
||||
@ -657,15 +557,12 @@ std::vector<int> CChainParams::GetAvailableSnapshotHeights() const
|
||||
std::optional<ChainType> GetNetworkForMagic(const MessageStartChars& message)
|
||||
{
|
||||
const auto mainnet_msg = CChainParams::Main()->MessageStart();
|
||||
const auto testnet_msg = CChainParams::TestNet()->MessageStart();
|
||||
const auto testnet4_msg = CChainParams::TestNet4()->MessageStart();
|
||||
const auto regtest_msg = CChainParams::RegTest({})->MessageStart();
|
||||
const auto signet_msg = CChainParams::SigNet({})->MessageStart();
|
||||
|
||||
if (std::ranges::equal(message, mainnet_msg)) {
|
||||
return ChainType::MAIN;
|
||||
} else if (std::ranges::equal(message, testnet_msg)) {
|
||||
return ChainType::TESTNET;
|
||||
} else if (std::ranges::equal(message, testnet4_msg)) {
|
||||
return ChainType::TESTNET4;
|
||||
} else if (std::ranges::equal(message, regtest_msg)) {
|
||||
|
@ -148,7 +148,6 @@ public:
|
||||
static std::unique_ptr<const CChainParams> RegTest(const RegTestOptions& options);
|
||||
static std::unique_ptr<const CChainParams> SigNet(const SigNetOptions& options);
|
||||
static std::unique_ptr<const CChainParams> Main();
|
||||
static std::unique_ptr<const CChainParams> TestNet();
|
||||
static std::unique_ptr<const CChainParams> TestNet4();
|
||||
|
||||
protected:
|
||||
|
@ -114,7 +114,6 @@ static std::string DummyAddress(const CChainParams ¶ms)
|
||||
addr = "bc1p35yvjel7srp783ztf8v6jdra7dhfzk5jaun8xz2qp6ws7z80n4tq2jku9f";
|
||||
break;
|
||||
case ChainType::SIGNET:
|
||||
case ChainType::TESTNET:
|
||||
case ChainType::TESTNET4:
|
||||
addr = "tb1p35yvjel7srp783ztf8v6jdra7dhfzk5jaun8xz2qp6ws7z80n4tqa6qnlg";
|
||||
break;
|
||||
|
@ -13,8 +13,6 @@ std::string ChainTypeToString(ChainType chain)
|
||||
switch (chain) {
|
||||
case ChainType::MAIN:
|
||||
return "main";
|
||||
case ChainType::TESTNET:
|
||||
return "test";
|
||||
case ChainType::TESTNET4:
|
||||
return "testnet4";
|
||||
case ChainType::SIGNET:
|
||||
@ -29,8 +27,6 @@ std::optional<ChainType> ChainTypeFromString(std::string_view chain)
|
||||
{
|
||||
if (chain == "main") {
|
||||
return ChainType::MAIN;
|
||||
} else if (chain == "test") {
|
||||
return ChainType::TESTNET;
|
||||
} else if (chain == "testnet4") {
|
||||
return ChainType::TESTNET4;
|
||||
} else if (chain == "signet") {
|
||||
|
@ -10,7 +10,6 @@
|
||||
|
||||
enum class ChainType {
|
||||
MAIN,
|
||||
TESTNET,
|
||||
SIGNET,
|
||||
REGTEST,
|
||||
TESTNET4,
|
||||
|
Loading…
x
Reference in New Issue
Block a user