From 87a6b3a48ab22d65df38d6f3cc43eb12d6b4f27a Mon Sep 17 00:00:00 2001 From: SikkieNL <64414667+msi2706@users.noreply.github.com> Date: Mon, 30 Dec 2024 03:09:45 +0100 Subject: [PATCH] modified: README.md modified: src/chainparams.cpp --- README.md | 18 +++++----- src/chainparams.cpp | 84 ++++++++++++++++++++++----------------------- 2 files changed, 50 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index 6dffd0965..7a4f1d153 100644 --- a/README.md +++ b/README.md @@ -30,16 +30,14 @@ the Neobytes Core software, see [https://www.neobytes.network](https://www.neoby ## Neobytes FAQ -**Launch Date**: June 1, 2021 - -**Blockchain Type**: Decentralized - -**Ticker Symbol**: NBY - -**Genesis Block Hash**: "Neobytes Genesis born on June 1, 2021" - -**Mining Algorithm**: NeoScrypt - +- Blockchain Type: Decentralize +- Launch Date: June 1, 2021 +- Ticker Symbol: NBY +- Genesis Block Hash: "Neobytes Genesis born on June 1, 2021" +- Mining Algorithm: NeoScrypt +- Coin supply: 168000000 coins +- Block halving: 1680000 blocks +- 100 confirmations for minted coins License ------- diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 779e1b86a..e03c7749c 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -42,8 +42,8 @@ static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesi static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward) { - const char* pszTimestamp = "Neobytes Genesis on born on 01 June 2021"; - const CScript genesisOutputScript = CScript() << ParseHex("040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9") << OP_CHECKSIG; + const char* pszTimestamp = "Neobytes Genesis was born on 01 June 2021"; + const CScript genesisOutputScript = CScript() << ParseHex("04e9d516ad2c3b17c51ec63d8971e8d7197a0377733c2e139ab9e5e9af7b002e8965f6c8542431b3f632db6633130610e7cdccbd41bf1953b673cdc8ba6f839e6e") << OP_CHECKSIG; return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward); } @@ -63,17 +63,17 @@ class CMainParams : public CChainParams { public: CMainParams() { strNetworkID = "main"; - consensus.nSubsidyHalvingInterval = 840000; - consensus.nMasternodePaymentsStartBlock = 1024; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock + consensus.nSubsidyHalvingInterval = 1680000; + consensus.nMasternodePaymentsStartBlock = 1; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock consensus.nMasternodePaymentsIncreaseBlock = 158000; // actual historical value consensus.nMasternodePaymentsIncreasePeriod = 576*30; // 17280 - actual historical value consensus.nInstantSendKeepLock = 24; - consensus.nBudgetPaymentsStartBlock = 8400000; // actual historical value - consensus.nBudgetPaymentsCycleBlocks = 21600; // ~(60*24*30)/2 + consensus.nBudgetPaymentsStartBlock = 1; + consensus.nBudgetPaymentsCycleBlocks = 8760; consensus.nBudgetPaymentsWindowBlocks = 100; consensus.nBudgetProposalEstablishingTime = 60*60*24; - consensus.nSuperblockStartBlock = 8400000; - consensus.nSuperblockCycle = 21600; // ~(60*24*30)/2 + consensus.nSuperblockStartBlock = 1; + consensus.nSuperblockCycle = 8760; consensus.nGovernanceMinQuorum = 10; consensus.nGovernanceFilterElements = 20000; consensus.nMasternodeMinimumConfirmations = 15; @@ -81,10 +81,10 @@ public: consensus.nMajorityRejectBlockOutdated = 950; consensus.nMajorityWindow = 1000; consensus.BIP34Height = 0; - consensus.BIP34Hash = uint256S("0x0000031f3ddf0598c05670f5ee9aa5132ac4d22cf71d77d7e46853903cf2fa4e"); - consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - consensus.nPowTargetTimespan = 12 * 60 * 60; // 12h retarget - consensus.nPowTargetSpacing = 5 * 60; // 5 minutes + consensus.BIP34Hash = uint256S("0x000002333ac985182810346a7c4c81dff5b73597e9aadc7dd2f5b23e80817d8c"); + consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); // ~uint256(0) >> 20 + consensus.nPowTargetTimespan = 12 * 60 * 60; + consensus.nPowTargetSpacing = 5 * 60; consensus.fPowAllowMinDifficultyBlocks = false; consensus.fPowNoRetargeting = false; consensus.nRuleChangeActivationThreshold = 1916; // 95% of 2016 @@ -107,15 +107,15 @@ public: pchMessageStart[1] = 0x6c; pchMessageStart[2] = 0x6c; pchMessageStart[3] = 0x61; - vAlertPubKey = ParseHex("04b4f241819421257b67ef1ea62fd694ee3698559ffbd4aad04ea088d5731fd45e1948580e66af2aba6a40c65a2422ce81430db739a19ad1b4d17eaf6b49e1cec2"); + vAlertPubKey = ParseHex("0443e67f0b639dbcfabbd3ffee344fba1399772582c7ada5e8a4ac66d1778597abfe56c7465b880200213370d27adbd803f3f28214947e4a38c6f63b1950ca22d8"); nDefaultPort = 1428; nMaxTipAge = 6 * 60 * 60; // ~144 blocks behind -> 2 x fork detection time, was 24 * 60 * 60 in bitcoin nPruneAfterHeight = 100000; - genesis = CreateGenesisBlock(1689725227, 258731, 0x1e0ffff0, 1, 50 * COIN); + genesis = CreateGenesisBlock(1689725227, 634241, 0x1e0ffff0, 1, 50 * COIN); consensus.hashGenesisBlock = genesis.GetHash(); - assert(consensus.hashGenesisBlock == uint256S("0x0000031f3ddf0598c05670f5ee9aa5132ac4d22cf71d77d7e46853903cf2fa4e")); - assert(genesis.hashMerkleRoot == uint256S("0x089b49a54f96865eabaadd77148aeae924cde0808821794f1d0f19dd0fe879ee")); + assert(consensus.hashGenesisBlock == uint256S("0x000002333ac985182810346a7c4c81dff5b73597e9aadc7dd2f5b23e80817d8c")); + assert(genesis.hashMerkleRoot == uint256S("0xc43e627ac8027a244c2883c779a60518439a563aff0b528d9c983e6a3a981c89")); vSeeds.push_back(CDNSSeedData("neobytes.io", "seed.neobytes.io")); @@ -143,12 +143,12 @@ public: nPoolMaxTransactions = 3; nFulfilledRequestExpireTime = 60*60; // fulfilled requests expire in 1 hour - strSporkPubKey = "04a077102fb396b50757ae2197a85326327d51702c03274f8ec601ba9b48dc252314d35d5f3acda0a9cbbbe377e9c8566b657efe565f1123132638ebcdcd177ee4"; - strMasternodePaymentsPubKey = "04a077102fb396b50757ae2197a85326327d51702c03274f8ec601ba9b48dc252314d35d5f3acda0a9cbbbe377e9c8566b657efe565f1123132638ebcdcd177ee4"; + strSporkPubKey = "0425ac9dd2e7df61568af96d5e782c173acb6a2fde062bad5624b8ce30a09051aea855cb7e89d1f86aecabb02d42d285e5e638a97cf6b4f0da8dbd175203a09189"; + strMasternodePaymentsPubKey = "0425ac9dd2e7df61568af96d5e782c173acb6a2fde062bad5624b8ce30a09051aea855cb7e89d1f86aecabb02d42d285e5e638a97cf6b4f0da8dbd175203a09189"; checkpointData = (CCheckpointData) { boost::assign::map_list_of - ( 0, uint256S("0x0000031f3ddf0598c05670f5ee9aa5132ac4d22cf71d77d7e46853903cf2fa4e")), + ( 0, uint256S("0x000002333ac985182810346a7c4c81dff5b73597e9aadc7dd2f5b23e80817d8c")), 1689725227, // * UNIX timestamp of last checkpoint block 0, // * total number of transactions between genesis and last checkpoint // (the tx=... number in the SetBestChain debug.log lines) @@ -165,16 +165,16 @@ class CTestNetParams : public CChainParams { public: CTestNetParams() { strNetworkID = "test"; - consensus.nSubsidyHalvingInterval = 840000; - consensus.nMasternodePaymentsStartBlock = 512; - consensus.nMasternodePaymentsIncreaseBlock = 158000; - consensus.nMasternodePaymentsIncreasePeriod = 576*30; + consensus.nSubsidyHalvingInterval = 1680000; + consensus.nMasternodePaymentsStartBlock = 1; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock + consensus.nMasternodePaymentsIncreaseBlock = 4030; + consensus.nMasternodePaymentsIncreasePeriod = 10; consensus.nInstantSendKeepLock = 6; - consensus.nBudgetPaymentsStartBlock = 8400000; + consensus.nBudgetPaymentsStartBlock = 4100; consensus.nBudgetPaymentsCycleBlocks = 50; consensus.nBudgetPaymentsWindowBlocks = 10; consensus.nBudgetProposalEstablishingTime = 60*20; - consensus.nSuperblockStartBlock = 8400000; // NOTE: Should satisfy nSuperblockStartBlock > nBudgetPeymentsStartBlock + consensus.nSuperblockStartBlock = 1; // NOTE: Should satisfy nSuperblockStartBlock > nBudgetPeymentsStartBlock consensus.nSuperblockCycle = 24; // Superblocks can be issued hourly on testnet consensus.nGovernanceMinQuorum = 1; consensus.nGovernanceFilterElements = 500; @@ -183,10 +183,10 @@ public: consensus.nMajorityRejectBlockOutdated = 75; consensus.nMajorityWindow = 100; consensus.BIP34Height = 0; - consensus.BIP34Hash = uint256S("0x000008bd9b0f73536def90daf48e53370c59d0b44541469d4daabfc7a9235d89"); + consensus.BIP34Hash = uint256S("0x00000348738de1d1d9dbc9633d2ed265fd8ca626edd91ff63001a2c3b97927fe"); consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - consensus.nPowTargetTimespan = 12 * 60 * 60; // 12h retarget - consensus.nPowTargetSpacing = 5 * 60; // 5 minutes + consensus.nPowTargetTimespan = 12 * 60 * 60; + consensus.nPowTargetSpacing = 5 * 60; consensus.fPowAllowMinDifficultyBlocks = true; consensus.fPowNoRetargeting = false; consensus.nRuleChangeActivationThreshold = 1512; // 75% for testchains @@ -204,15 +204,15 @@ public: pchMessageStart[1] = 0x6e; pchMessageStart[2] = 0x6f; pchMessageStart[3] = 0x77; - vAlertPubKey = ParseHex("041197130efc23d878376e05809efb30a78073d5ddd7c29c4408e13ed39778f03458782aa0a803e0e90d1f21eaa8f648d8e3956a5626be12f1136d1d171846f47b"); + vAlertPubKey = ParseHex("047ac20414ecaef809089e5a66b88ada9b7a0b0c0485d573926e2760977dccb5aeac7d87cdb1a865b14a1e413ca5382342c8cf9ce22101adedd503de62b557cf8b"); nDefaultPort = 11428; nMaxTipAge = 0x7fffffff; // allow mining on top of old blocks for testnet nPruneAfterHeight = 1000; - genesis = CreateGenesisBlock(1622466128, 1655988, 0x1e0ffff0, 1, 50 * COIN); + genesis = CreateGenesisBlock(1622466128, 329966, 0x1e0ffff0, 1, 50 * COIN); consensus.hashGenesisBlock = genesis.GetHash(); - assert(consensus.hashGenesisBlock == uint256S("0x000008bd9b0f73536def90daf48e53370c59d0b44541469d4daabfc7a9235d89")); - assert(genesis.hashMerkleRoot == uint256S("0x089b49a54f96865eabaadd77148aeae924cde0808821794f1d0f19dd0fe879ee")); + assert(consensus.hashGenesisBlock == uint256S("0x00000348738de1d1d9dbc9633d2ed265fd8ca626edd91ff63001a2c3b97927fe")); + assert(genesis.hashMerkleRoot == uint256S("0xc43e627ac8027a244c2883c779a60518439a563aff0b528d9c983e6a3a981c89")); vFixedSeeds.clear(); vSeeds.clear(); @@ -241,12 +241,12 @@ public: nPoolMaxTransactions = 3; nFulfilledRequestExpireTime = 5*60; // fulfilled requests expire in 5 minutes - strSporkPubKey = "0461848c2eb849fa3a3f7062b133b076b9594d683f0981328f355fd2e88cd62ff6d575bbfc1161dce703f725b085398d89a3bfe30487153c5c7e570502794c3be2"; - strMasternodePaymentsPubKey = "0461848c2eb849fa3a3f7062b133b076b9594d683f0981328f355fd2e88cd62ff6d575bbfc1161dce703f725b085398d89a3bfe30487153c5c7e570502794c3be2"; + strSporkPubKey = "04cb229949d3d596a740a377f2e96d4991677c60da60716be7c6ea85801f027dfa63bd3fc1e0e7b9a11baa63ebdb1228a1916e1ff358e58f1b18da19a3c4f247b6"; + strMasternodePaymentsPubKey = "04cb229949d3d596a740a377f2e96d4991677c60da60716be7c6ea85801f027dfa63bd3fc1e0e7b9a11baa63ebdb1228a1916e1ff358e58f1b18da19a3c4f247b6"; checkpointData = (CCheckpointData) { boost::assign::map_list_of - ( 0, uint256S("0x000008bd9b0f73536def90daf48e53370c59d0b44541469d4daabfc7a9235d89")), + ( 0, uint256S("0x00000348738de1d1d9dbc9633d2ed265fd8ca626edd91ff63001a2c3b97927fe")), 1622466128, // * UNIX timestamp of last checkpoint block 0, // * total number of transactions between genesis and last checkpoint // (the tx=... number in the SetBestChain debug.log lines) @@ -274,7 +274,7 @@ public: consensus.nBudgetPaymentsWindowBlocks = 10; consensus.nBudgetProposalEstablishingTime = 60*20; consensus.nSuperblockStartBlock = 1500; - consensus.nSuperblockCycle = 10; + consensus.nSuperblockCycle = 20; consensus.nGovernanceMinQuorum = 1; consensus.nGovernanceFilterElements = 100; consensus.nMasternodeMinimumConfirmations = 1; @@ -284,8 +284,8 @@ public: consensus.BIP34Height = -1; // BIP34 has not necessarily activated on regtest consensus.BIP34Hash = uint256(); consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - consensus.nPowTargetTimespan = 12 * 60 * 60; // 12h retarget - consensus.nPowTargetSpacing = 5 * 60; // 5 minutes + consensus.nPowTargetTimespan = 12 * 60 * 60; + consensus.nPowTargetSpacing = 5 * 60; consensus.fPowAllowMinDifficultyBlocks = true; consensus.fPowNoRetargeting = true; consensus.nRuleChangeActivationThreshold = 108; // 75% for testchains @@ -305,10 +305,10 @@ public: nDefaultPort = 11444; nPruneAfterHeight = 1000; - genesis = CreateGenesisBlock(1622466748, 0, 0x207fffff, 1, 50 * COIN); + genesis = CreateGenesisBlock(1622466748, 1, 0x207fffff, 1, 50 * COIN); consensus.hashGenesisBlock = genesis.GetHash(); - assert(consensus.hashGenesisBlock == uint256S("0x322cb9ae2cb1c4279e9f9a38f1fc53bdd1a4eb862d8ea21bc0be2e37b7715f1b")); - assert(genesis.hashMerkleRoot == uint256S("0x089b49a54f96865eabaadd77148aeae924cde0808821794f1d0f19dd0fe879ee")); + assert(consensus.hashGenesisBlock == uint256S("0x7b93e14b8f9f7dccee83559d6a193179f29b8863d6f2c8d6ae9f8c3212e7869f")); + assert(genesis.hashMerkleRoot == uint256S("0xc43e627ac8027a244c2883c779a60518439a563aff0b528d9c983e6a3a981c89")); vFixedSeeds.clear(); //! Regtest mode doesn't have any fixed seeds. vSeeds.clear(); //! Regtest mode doesn't have any DNS seeds. @@ -323,7 +323,7 @@ public: checkpointData = (CCheckpointData){ boost::assign::map_list_of - ( 0, uint256S("0x322cb9ae2cb1c4279e9f9a38f1fc53bdd1a4eb862d8ea21bc0be2e37b7715f1b")), + ( 0, uint256S("0x7b93e14b8f9f7dccee83559d6a193179f29b8863d6f2c8d6ae9f8c3212e7869f")), 0, 0, 0