modified: README.md
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 28s
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 28s
modified: src/chainparams.cpp
This commit is contained in:
parent
97811d233e
commit
87a6b3a48a
18
README.md
18
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
|
||||
-------
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user