From 53614b67c68d9d2cf681fa5da650c51a7fb665ce Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Wed, 25 Oct 2017 22:37:59 -0400 Subject: [PATCH 01/30] Capitolize Curecoin --- src/rpcmining.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index 6dab5e8..91f08aa 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2010 Satoshi Nakamoto -// Copyright (c) 2013 The curecoin developer +// Copyright (c) 2013 The Curecoin developer // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -165,10 +165,10 @@ Value getworkex(const Array& params, bool fHelp) ); if (vNodes.empty()) - throw JSONRPCError(-9, "curecoin is not connected!"); + throw JSONRPCError(-9, "Curecoin is not connected!"); if (IsInitialBlockDownload()) - throw JSONRPCError(-10, "curecoin is downloading blocks..."); + throw JSONRPCError(-10, "Curecoin is downloading blocks..."); typedef map > mapNewBlock_t; static mapNewBlock_t mapNewBlock; @@ -299,10 +299,10 @@ Value getwork(const Array& params, bool fHelp) "If [data] is specified, tries to solve the block and returns true if it was successful."); if (vNodes.empty()) - throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "curecoin is not connected!"); + throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "Curecoin is not connected!"); if (IsInitialBlockDownload()) - throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "curecoin is downloading blocks..."); + throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Curecoin is downloading blocks..."); typedef map > mapNewBlock_t; static mapNewBlock_t mapNewBlock; // FIXME: thread safety @@ -443,10 +443,10 @@ Value getblocktemplate(const Array& params, bool fHelp) throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid mode"); if (vNodes.empty()) - throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "curecoin is not connected!"); + throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "Curecoin is not connected!"); if (IsInitialBlockDownload()) - throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "curecoin is downloading blocks..."); + throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Curecoin is downloading blocks..."); static CReserveKey reservekey(pwalletMain); From ecabec1e6a32dc937c539e3509c9665aeef754e8 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Thu, 26 Oct 2017 15:19:36 -0400 Subject: [PATCH 02/30] Commit for demonstrational purposes --- src/main.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index a8dea27..4054b72 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1025,10 +1025,7 @@ int64 GetProofOfWorkReward(int nHeight, int64 nFees, uint256 prevHash) else if (nHeight < 5045760){ nSubsidy = 0.000001 * COIN; } - else if (nHeight == 5045760){ - nSubsidy = 0.000001 * COIN; - } - else if (nHeight > 5045760){ + else { nSubsidy = 0.000001 * COIN; } From 3d03cecd388b0ea8e3c2157d6b58ff92b79bc734 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Thu, 26 Oct 2017 19:00:31 -0400 Subject: [PATCH 03/30] Define hardfork block height. Eliminate PoW blocks beyond this height. --- src/main.cpp | 6 ++++++ src/main.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 4054b72..ba836b7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2209,6 +2209,9 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const bool CBlock::AcceptBlock() { + // STS check version + if (nVersion > CURRENT_VERSION) + return DoS(100, error("AcceptBlock() : reject unknown block version %d", nVersion)); // Check for duplicate uint256 hash = GetHash(); if (mapBlockIndex.count(hash)) @@ -2221,6 +2224,9 @@ bool CBlock::AcceptBlock() CBlockIndex* pindexPrev = (*mi).second; int nHeight = pindexPrev->nHeight+1; + if (IsProofOfWork() && nHeight > HF_BLOCK) + return DoS(100, error("AcceptBloock() : rejected pow block at height %d", nHeight)); + // Check proof-of-work or proof-of-stake if (nBits != GetNextTargetRequired(pindexPrev, IsProofOfStake())) return DoS(100, error("AcceptBlock() : incorrect %s", IsProofOfWork() ? "proof-of-work" : "proof-of-stake")); diff --git a/src/main.h b/src/main.h index 4ea33c0..b1e5cb0 100644 --- a/src/main.h +++ b/src/main.h @@ -36,6 +36,7 @@ static const int64 MAX_MINT_PROOF_OF_WORK = 13 * COIN; //Lucky number 13 Coins p static const int64 MAX_MINT_PROOF_OF_STAKE = 0.01 * MAX_MINT_PROOF_OF_WORK; //1% annual interest reward the folders and holders static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE; static const unsigned int MAX_TX_COMMENT_LEN = 268; // curecoin: 256 bytes + 12 little extra +static const unsigned int HF_BLOCK = 200000; // hardfork's block height inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } // Threshold for nLockTime: below this value it is interpreted as block number, otherwise as UNIX timestamp. From 5367dceb8781873e60b509c6d8f524d757e8fbc6 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Thu, 26 Oct 2017 21:36:42 -0400 Subject: [PATCH 04/30] 4% lower bound for PoS hardfork --- src/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index ba836b7..13d77ba 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1056,6 +1056,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi // nRewardCoinYear = 1 / (posdiff ^ 1/4) CBigNum bnLowerBound = 1 * CENT; // Lower interest bound is 1% per year + if (nBestHeight > HF_BLOCK) bnLowerBound = 4 * CENT; CBigNum bnUpperBound = bnRewardCoinYearLimit; while (bnLowerBound + CENT <= bnUpperBound) { @@ -2209,7 +2210,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const bool CBlock::AcceptBlock() { - // STS check version + // check version if (nVersion > CURRENT_VERSION) return DoS(100, error("AcceptBlock() : reject unknown block version %d", nVersion)); // Check for duplicate From 46916b33f4aef895e0fae2de3d197ccb83e02bfd Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Thu, 26 Oct 2017 23:11:02 -0400 Subject: [PATCH 05/30] cast to quite warnings --- src/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 13d77ba..08b02dc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1056,7 +1056,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi // nRewardCoinYear = 1 / (posdiff ^ 1/4) CBigNum bnLowerBound = 1 * CENT; // Lower interest bound is 1% per year - if (nBestHeight > HF_BLOCK) bnLowerBound = 4 * CENT; + if (nBestHeight > (int)HF_BLOCK) bnLowerBound = 4 * CENT; CBigNum bnUpperBound = bnRewardCoinYearLimit; while (bnLowerBound + CENT <= bnUpperBound) { @@ -2225,7 +2225,7 @@ bool CBlock::AcceptBlock() CBlockIndex* pindexPrev = (*mi).second; int nHeight = pindexPrev->nHeight+1; - if (IsProofOfWork() && nHeight > HF_BLOCK) + if (IsProofOfWork() && nHeight > (int)HF_BLOCK) return DoS(100, error("AcceptBloock() : rejected pow block at height %d", nHeight)); // Check proof-of-work or proof-of-stake From abded19df7b377dee7bf8c0dfc086001352299b6 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Thu, 26 Oct 2017 23:15:18 -0400 Subject: [PATCH 06/30] this is bugging me :P --- src/main.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 08b02dc..19f3e8c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1021,14 +1021,10 @@ int64 GetProofOfWorkReward(int nHeight, int64 nFees, uint256 prevHash) } else if (nHeight < 4835520){ nSubsidy = 0.000003 * COIN; - } - else if (nHeight < 5045760){ - nSubsidy = 0.000001 * COIN; } else { nSubsidy = 0.000001 * COIN; } - return nSubsidy + nFees; } From 4d40b41f292b9e5df6577653fb7555bce71037b2 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Fri, 27 Oct 2017 03:20:07 -0400 Subject: [PATCH 07/30] 4% upper and lower PoS, which were 1% both --- src/main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 19f3e8c..1c0ce7d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1038,6 +1038,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi // Stage 2 of emission process is PoS-based. It will be active on mainNet since 20 Jun 2013. CBigNum bnRewardCoinYearLimit = MAX_MINT_PROOF_OF_STAKE; // Base stake mint rate, 100% year interest + if (nBestHeight > (int)HF_BLOCK) bnRewardCoinYearLimit = (int)0.04 * MAX_MINT_PROOF_OF_WORK; // 4% hardfork CBigNum bnTarget; bnTarget.SetCompact(nBits); CBigNum bnTargetLimit = bnProofOfStakeLimit; @@ -1065,7 +1066,8 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi bnLowerBound = bnMidValue; } nRewardCoinYear = bnUpperBound.getuint64(); - nRewardCoinYear = min(nRewardCoinYear, MAX_MINT_PROOF_OF_STAKE); + if (nBestHeight > (int)HF_BLOCK) min(nRewardCoinYear, (int)0.04 * MAX_MINT_PROOF_OF_WORK); // 4% hardfork + else nRewardCoinYear = min(nRewardCoinYear, MAX_MINT_PROOF_OF_STAKE); int64 nSubsidy = nRewardCoinYear * nCoinAge * 33 / (365 * 33 + 8) ; From 7a944118967b8dceb0ed8204fd2a9ca482ae79ad Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Fri, 27 Oct 2017 05:42:20 -0400 Subject: [PATCH 08/30] 4 minute target enforced after hardfork block --- src/main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 1c0ce7d..6828ce8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1079,6 +1079,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi } static const int64 nTargetTimespan = 4 * 60 * 60; // 4-hour +void loop() { if (nBestHeight > (int)HF_BLOCK) nStakeTargetSpacing = 4 * 60; /* 4 minute target enforced */ } static const int64 nTargetSpacingWorkMax = 12 * nStakeTargetSpacing; // 2-hour // @@ -1167,6 +1168,7 @@ unsigned int static GetNextTargetRequired(const CBlockIndex* pindexLast, bool fP // ppcoin: retarget with exponential moving toward target spacing CBigNum bnNew; bnNew.SetCompact(pindexPrev->nBits); + if (pindexLast->nHeight > (int)HF_BLOCK) nStakeTargetSpacing = 4 * 60; // 4 minute target enforced int64 nTargetSpacing = fProofOfStake? nStakeTargetSpacing : min(nTargetSpacingWorkMax, (int64) nStakeTargetSpacing * (1 + pindexLast->nHeight - pindexPrev->nHeight)); int64 nInterval = nTargetTimespan / nTargetSpacing; bnNew *= ((nInterval - 1) * nTargetSpacing + nActualSpacing + nActualSpacing); From 95547e9791df3f43aa321cb16bfb8d3b3787fb36 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Fri, 27 Oct 2017 05:50:29 -0400 Subject: [PATCH 09/30] note-worth comment added --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 6828ce8..7bd10f6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1080,7 +1080,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi static const int64 nTargetTimespan = 4 * 60 * 60; // 4-hour void loop() { if (nBestHeight > (int)HF_BLOCK) nStakeTargetSpacing = 4 * 60; /* 4 minute target enforced */ } -static const int64 nTargetSpacingWorkMax = 12 * nStakeTargetSpacing; // 2-hour +static const int64 nTargetSpacingWorkMax = 12 * nStakeTargetSpacing; // 2-hour // 48 min if 'if' above true // // minimum amount of work that could possibly be required nTime after From 78965bc3495cefdf7cf84d7a42640163310c8469 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Fri, 27 Oct 2017 08:00:02 -0400 Subject: [PATCH 10/30] 4 day min stake age --- src/main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 7bd10f6..ede52f0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1999,6 +1999,7 @@ bool CTransaction::GetCoinAge(CTxDB& txdb, uint64& nCoinAge) const CBlock block; if (!block.ReadFromDisk(txindex.pos.nFile, txindex.pos.nBlockPos, false)) return false; // unable to read block of previous transaction + if ( nBestHeight > (int)HF_BLOCK ) nStakeMinAge = 60 * 60 * 24 * 4; // 4 day min stake age hardfork if (block.GetBlockTime() + nStakeMinAge > nTime) continue; // only count coins meeting min age requirement @@ -3350,6 +3351,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) printf(" getblocks stopping at %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString().substr(0,20).c_str()); // ppcoin: tell downloading node about the latest block if it's // without risk being rejected due to stake connection check + if ( nBestHeight > (int)HF_BLOCK ) nStakeMinAge = 60 * 60 * 24 * 4; // 4 day min stake age hardfork if (hashStop != hashBestChain && pindex->GetBlockTime() + nStakeMinAge > pindexBest->GetBlockTime()) pfrom->PushInventory(CInv(MSG_BLOCK, hashBestChain)); break; From b9147b43cdd06f11ccfd74867bedc0452ea8c953 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Fri, 27 Oct 2017 20:28:17 -0400 Subject: [PATCH 11/30] CUR to CURE abbriv. Major version bump --- src/main.cpp | 1 + src/qt/curecoinunits.cpp | 12 ++++++------ src/qt/forms/overviewpage.ui | 8 ++++---- src/qt/forms/sendcoinsdialog.ui | 4 ++-- src/version.cpp | 2 +- src/version.h | 6 +++--- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ede52f0..ae022fb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2214,6 +2214,7 @@ bool CBlock::AcceptBlock() // check version if (nVersion > CURRENT_VERSION) return DoS(100, error("AcceptBlock() : reject unknown block version %d", nVersion)); + // Check for duplicate uint256 hash = GetHash(); if (mapBlockIndex.count(hash)) diff --git a/src/qt/curecoinunits.cpp b/src/qt/curecoinunits.cpp index 452dadd..cca0aea 100644 --- a/src/qt/curecoinunits.cpp +++ b/src/qt/curecoinunits.cpp @@ -34,9 +34,9 @@ QString curecoinUnits::name(int unit) { switch(unit) { - case BTC: return QString("CUR"); - case mBTC: return QString("mCUR"); - case uBTC: return QString::fromUtf8("μCUR"); + case BTC: return QString("CURE"); + case mBTC: return QString("mCURE"); + case uBTC: return QString::fromUtf8("μCURE"); default: return QString("???"); } } @@ -45,9 +45,9 @@ QString curecoinUnits::description(int unit) { switch(unit) { - case BTC: return QString("curecoins"); - case mBTC: return QString("Milli-curecoins (1 / 1,000)"); - case uBTC: return QString("Micro-curecoins (1 / 1,000,000)"); + case BTC: return QString("Curecoins"); + case mBTC: return QString("Milli-Curecoins (1 / 1,000)"); + case uBTC: return QString("Micro-Curecoins (1 / 1,000,000)"); default: return QString("???"); } } diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index a85a85b..ef996a4 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -105,7 +105,7 @@ Your current balance - 0 CUR + 0 CURE Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -134,7 +134,7 @@ Total of coins that was staked, and do not yet count toward the current balance - 0 CUR + 0 CURE Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -163,7 +163,7 @@ Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - 0 CUR + 0 CURE Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -189,7 +189,7 @@ Mined balance that has not yet matured - 0 CUR + 0 CURE Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index 7cda233..e14ff54 100644 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -55,7 +55,7 @@ 0 0 666 - 145 + 143 @@ -158,7 +158,7 @@ IBeamCursor - 123.456 CUR + 123.456 CURE Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse diff --git a/src/version.cpp b/src/version.cpp index 2305ad2..c5a215a 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("Curecoin"); // Client version number -#define CLIENT_VERSION_SUFFIX "-CUR" +#define CLIENT_VERSION_SUFFIX "-CURE" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 9028e68..dc86c1a 100644 --- a/src/version.h +++ b/src/version.h @@ -44,9 +44,9 @@ static const int BIP0031_VERSION = 60000; // "mempool" command, enhanced "getdata" behavior starts with this version: static const int MEMPOOL_GD_VERSION = 60002; -#define DISPLAY_VERSION_MAJOR 1 -#define DISPLAY_VERSION_MINOR 9 -#define DISPLAY_VERSION_REVISION 4 +#define DISPLAY_VERSION_MAJOR 2 +#define DISPLAY_VERSION_MINOR 0 +#define DISPLAY_VERSION_REVISION 0 #define DISPLAY_VERSION_BUILD 1 #endif From 0cbf2a14d3145d07bd17d8a226774fa07c6214b7 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Sun, 29 Oct 2017 18:33:01 -0400 Subject: [PATCH 12/30] Status bar staking unlock warning behavior modification. --- src/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ae022fb..7b6ab82 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2876,7 +2876,7 @@ bool LoadExternalBlockFile(FILE* fileIn) extern map mapAlerts; extern CCriticalSection cs_mapAlerts; -static string strMintMessage = "Info: Staking suspended due to locked wallet. Click 'Settings' then 'Unlock Wallet' to stake."; +static string strMintMessage = "Click 'Settings' then 'Unlock Wallet' to stake."; static string strMintWarning; string GetWarnings(string strFor) @@ -4488,7 +4488,7 @@ void curecoinMiner(CWallet *pwallet, bool fProofOfStake) while (pwallet->IsLocked()) { - strMintWarning = strMintMessage; + //strMintWarning = strMintMessage; Sleep(1000); } strMintWarning = ""; From 725fae1297532a013ef40be4881df19857bd1791 Mon Sep 17 00:00:00 2001 From: Steven Saxton Date: Mon, 20 Nov 2017 05:41:06 -0500 Subject: [PATCH 13/30] move the hardfork a bit off to the future Main net is past 200k, lets not let this code run there. --- src/main.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.h b/src/main.h index b1e5cb0..c05a2f9 100644 --- a/src/main.h +++ b/src/main.h @@ -36,7 +36,7 @@ static const int64 MAX_MINT_PROOF_OF_WORK = 13 * COIN; //Lucky number 13 Coins p static const int64 MAX_MINT_PROOF_OF_STAKE = 0.01 * MAX_MINT_PROOF_OF_WORK; //1% annual interest reward the folders and holders static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE; static const unsigned int MAX_TX_COMMENT_LEN = 268; // curecoin: 256 bytes + 12 little extra -static const unsigned int HF_BLOCK = 200000; // hardfork's block height +static const unsigned int HF_BLOCK = 202000; // hardfork's block height inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } // Threshold for nLockTime: below this value it is interpreted as block number, otherwise as UNIX timestamp. From da96347005d74fcd709575b29c5647727d825843 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Wed, 29 Nov 2017 04:18:24 -0500 Subject: [PATCH 14/30] testnet genesis. move testnet datadir to $datadir/testnet --- src/main.cpp | 5 ++++- src/main.h | 2 +- src/util.cpp | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 7b6ab82..f7852ef 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2654,7 +2654,10 @@ bool LoadBlockIndex(bool fAllowNew) block.nTime = nChainStartTime;; block.nBits = bnProofOfWorkLimit.GetCompact(); block.nNonce = 25338; - + if (fTestNet) + { + block.nNonce = 12577; + } if (IsCalculatingGenesisBlockHash && (block.GetHash() != hashGenesisBlock)) { block.nNonce = 0; diff --git a/src/main.h b/src/main.h index c05a2f9..551b235 100644 --- a/src/main.h +++ b/src/main.h @@ -49,7 +49,7 @@ static const int fHaveUPnP = false; #endif static const uint256 hashGenesisBlockOfficial("0x00000ce427729d5393dbf9f464e7a1d2c039e393e881f93448516b1530b688fc"); -static const uint256 hashGenesisBlockTestNet("0x"); +static const uint256 hashGenesisBlockTestNet("0x0000a25934ca63ddc77adf8fe033cfb5f847e5687943ad717bb95ff041a74eb7"); static const int64 nMaxClockDrift = 2 * 60 * 60; // two hours diff --git a/src/util.cpp b/src/util.cpp index 5d0d9de..89a46e7 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1062,7 +1062,7 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific) path = GetDefaultDataDir(); } if (fNetSpecific && GetBoolArg("-testnet", false)) - path /= "testnet2"; + path /= "testnet"; fs::create_directory(path); From 043b5b1cfa45bcc696b7538d00c0686ec103f603 Mon Sep 17 00:00:00 2001 From: Steven Saxton Date: Wed, 29 Nov 2017 05:17:45 -0500 Subject: [PATCH 15/30] Update main.h --- src/main.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.h b/src/main.h index 551b235..1bfb06f 100644 --- a/src/main.h +++ b/src/main.h @@ -36,7 +36,7 @@ static const int64 MAX_MINT_PROOF_OF_WORK = 13 * COIN; //Lucky number 13 Coins p static const int64 MAX_MINT_PROOF_OF_STAKE = 0.01 * MAX_MINT_PROOF_OF_WORK; //1% annual interest reward the folders and holders static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE; static const unsigned int MAX_TX_COMMENT_LEN = 268; // curecoin: 256 bytes + 12 little extra -static const unsigned int HF_BLOCK = 202000; // hardfork's block height +static const unsigned int HF_BLOCK = 220000; // hardfork's block height inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } // Threshold for nLockTime: below this value it is interpreted as block number, otherwise as UNIX timestamp. From e14a23b2eb8fee2be762ba2a0dc0f3f732e8b430 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Wed, 29 Nov 2017 06:11:19 -0500 Subject: [PATCH 16/30] temp version holder. for testttttttttttttttttttttting reference --- src/clientversion.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clientversion.h b/src/clientversion.h index 83e38ca..2c4b0dc 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -9,7 +9,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 9 #define CLIENT_VERSION_REVISION 4 -#define CLIENT_VERSION_BUILD 1 +#define CLIENT_VERSION_BUILD 2 // Converts the parameter X to a string after macro replacement on X has been performed. // Don't merge these into one macro! From f72a8bd9b4b36d02346901f360971dd3b67c7411 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Thu, 30 Nov 2017 14:32:33 -0500 Subject: [PATCH 17/30] add testnet splashscreen. correct translation name. --- doc/assets-attribution.txt | 5 ----- src/qt/curecoin.cpp | 5 ++++- src/qt/curecoin.qrc | 7 ++++--- src/qt/res/images/{splash2.jpg => splash.jpg} | Bin src/qt/res/images/splash_testnet.jpg | Bin 0 -> 103458 bytes 5 files changed, 8 insertions(+), 9 deletions(-) rename src/qt/res/images/{splash2.jpg => splash.jpg} (100%) create mode 100644 src/qt/res/images/splash_testnet.jpg diff --git a/doc/assets-attribution.txt b/doc/assets-attribution.txt index a905074..9468a05 100644 --- a/doc/assets-attribution.txt +++ b/doc/assets-attribution.txt @@ -49,11 +49,6 @@ Designer: Everaldo (Everaldo Coelho) License: GNU/GPL Site: http://findicons.com/icon/17102/reload?id=17102 -Image: src/qt/res/images/splash2.jpg (Wallet image) -Designer: Crobbo (forum), adapted to Litecoin by BitcoinPorn (forum) -Site: https://bitcointalk.org/index.php?topic=32273.0, https://bitcointalk.org/index.php?topic=47417.msg591988#msg591988 -License: Public domain - Icon: src/qt/res/icons/debugwindow.png Designer: Vignoni David Site: http://www.oxygen-icons.org/ diff --git a/src/qt/curecoin.cpp b/src/qt/curecoin.cpp index 10d3919..4251b1c 100644 --- a/src/qt/curecoin.cpp +++ b/src/qt/curecoin.cpp @@ -196,7 +196,10 @@ int main(int argc, char *argv[]) return 1; } - QSplashScreen splash(QPixmap(":/images/splash"), 0); + QString splashPath; + if (GetBoolArg("-testnet")) splashPath=":/images/splash_testnet"; + else splashPath=":/images/splash"; + QSplashScreen splash(QPixmap(splashPath), 0); if (GetBoolArg("-splash", true) && !GetBoolArg("-min")) { splash.show(); diff --git a/src/qt/curecoin.qrc b/src/qt/curecoin.qrc index 819ad34..118801c 100644 --- a/src/qt/curecoin.qrc +++ b/src/qt/curecoin.qrc @@ -45,7 +45,8 @@ res/images/about.png - res/images/splash2.jpg + res/images/splash.jpg + res/images/splash_testnet.jpg res/images/wallet_bgcoin.png @@ -71,8 +72,8 @@ locale/curecoin_es_CL.qm locale/curecoin_et.qm locale/curecoin_eu_ES.qm - locale/curecoin_fa.qm - locale/curecoin_fa_IR.qm + locale/curecoin_fa.qm + locale/curecoin_fa_IR.qm locale/curecoin_fi.qm locale/curecoin_fr.qm locale/curecoin_fr_CA.qm diff --git a/src/qt/res/images/splash2.jpg b/src/qt/res/images/splash.jpg similarity index 100% rename from src/qt/res/images/splash2.jpg rename to src/qt/res/images/splash.jpg diff --git a/src/qt/res/images/splash_testnet.jpg b/src/qt/res/images/splash_testnet.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eaec3bf4e71de8a9f550a124275d73c095dc24af GIT binary patch literal 103458 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 literal 0 HcmV?d00001 From feeff4366a8b36805b37f0f5c0637d6866ae1385 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Wed, 6 Dec 2017 19:05:26 -0500 Subject: [PATCH 18/30] Correct copyrights and copyright typos --- src/qt/res/curecoin-qt.rc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qt/res/curecoin-qt.rc b/src/qt/res/curecoin-qt.rc index afecb87..818b652 100644 --- a/src/qt/res/curecoin-qt.rc +++ b/src/qt/res/curecoin-qt.rc @@ -18,14 +18,14 @@ BEGIN BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN - VALUE "CompanyName", "curecoin" - VALUE "FileDescription", "curecoin-Qt (OSS GUI client for curecoin)" + VALUE "CompanyName", "Curecoin" + VALUE "FileDescription", "Curecoin-Qt (OSS GUI client for curecoin)" VALUE "FileVersion", VER_FILEVERSION_STR VALUE "InternalName", "curecoin-qt" - VALUE "LegalCopyright", "2009-2012 The Bitcon developers, 2012-2013 The curecoin & PPCoin developers, 2003 The curecoin developer" + VALUE "LegalCopyright", "2009-2012 The Bitcoin developers, 2012-2013 PPCoin developers, 2003 Curecoin developer" VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "curecoin-qt.exe" - VALUE "ProductName", "curecoin-Qt" + VALUE "ProductName", "Curecoin-Qt" VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END From 54ac7b00a27249a5ec92ae6cdb4ac4ef74d9a761 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Wed, 6 Dec 2017 19:28:32 -0500 Subject: [PATCH 19/30] Correct copyright years and have Curecoin displayed at the start of the string of copyrights as to be displayed first. --- src/qt/res/curecoin-qt.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/res/curecoin-qt.rc b/src/qt/res/curecoin-qt.rc index 818b652..ecdb2d0 100644 --- a/src/qt/res/curecoin-qt.rc +++ b/src/qt/res/curecoin-qt.rc @@ -22,7 +22,7 @@ BEGIN VALUE "FileDescription", "Curecoin-Qt (OSS GUI client for curecoin)" VALUE "FileVersion", VER_FILEVERSION_STR VALUE "InternalName", "curecoin-qt" - VALUE "LegalCopyright", "2009-2012 The Bitcoin developers, 2012-2013 PPCoin developers, 2003 Curecoin developer" + VALUE "LegalCopyright", "2014-2018 Curecoin developers, 2009-2012 The Bitcoin developers, 2012-2013 PPCoin developers" VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "curecoin-qt.exe" VALUE "ProductName", "Curecoin-Qt" From ed75e0d65fe8c6784d016c7bdc55b86e3aa6fdf6 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Wed, 6 Dec 2017 19:31:54 -0500 Subject: [PATCH 20/30] trivial correction for consistancy --- src/qt/res/curecoin-qt.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/res/curecoin-qt.rc b/src/qt/res/curecoin-qt.rc index ecdb2d0..91e4eb7 100644 --- a/src/qt/res/curecoin-qt.rc +++ b/src/qt/res/curecoin-qt.rc @@ -22,7 +22,7 @@ BEGIN VALUE "FileDescription", "Curecoin-Qt (OSS GUI client for curecoin)" VALUE "FileVersion", VER_FILEVERSION_STR VALUE "InternalName", "curecoin-qt" - VALUE "LegalCopyright", "2014-2018 Curecoin developers, 2009-2012 The Bitcoin developers, 2012-2013 PPCoin developers" + VALUE "LegalCopyright", "2014-2018 Curecoin developers, 2009-2012 Bitcoin developers, 2012-2013 PPCoin developers" VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "curecoin-qt.exe" VALUE "ProductName", "Curecoin-Qt" From e4a5c3ac0cb28cd9e947a12e44621188049cbb71 Mon Sep 17 00:00:00 2001 From: EverGreenCoin Date: Fri, 15 Dec 2017 23:07:36 -0500 Subject: [PATCH 21/30] add staking=0 support --- src/init.cpp | 1 + src/net.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 8520d61..9dccc86 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -243,6 +243,7 @@ std::string HelpMessage() " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n" + " -bind= " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n" + " -dnsseed " + _("Find peers using DNS lookup (default: 0)") + "\n" + + " -staking " + _("Stake your coins to support the network and gain rewards (default: 1)") + "\n" + " -nosynccheckpoints " + _("Disable sync checkpoints (default: 0)") + "\n" + " -banscore= " + _("Threshold for disconnecting misbehaving peers (default: 100)") + "\n" + " -bantime= " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n" + diff --git a/src/net.cpp b/src/net.cpp index d80d1cb..d59381b 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1885,8 +1885,11 @@ void StartNode(void* parg) printf("Error; NewThread(ThreadDumpAddress) failed\n"); // ppcoin: mint proof-of-stake blocks in the background - if (!NewThread(ThreadStakeMinter, pwalletMain)) - printf("Error: NewThread(ThreadStakeMinter) failed\n"); + if (!GetBoolArg("-staking", true)) + printf("Staking disabled\n"); + else + if (!NewThread(ThreadStakeMinter, pwalletMain)) + printf("Error: NewThread(ThreadStakeMinter) failed\n"); // Generate coins in the background Generatecurecoins(GetBoolArg("-gen", false), pwalletMain); From 0cc3f62f2cc0dc86921bdb3ea0ef0dcb598169a3 Mon Sep 17 00:00:00 2001 From: Steven Saxton Date: Wed, 14 Mar 2018 21:08:39 -0400 Subject: [PATCH 22/30] type --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index f7852ef..0c74b9f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2228,7 +2228,7 @@ bool CBlock::AcceptBlock() int nHeight = pindexPrev->nHeight+1; if (IsProofOfWork() && nHeight > (int)HF_BLOCK) - return DoS(100, error("AcceptBloock() : rejected pow block at height %d", nHeight)); + return DoS(100, error("AcceptBlock() : rejected pow block at height %d", nHeight)); // Check proof-of-work or proof-of-stake if (nBits != GetNextTargetRequired(pindexPrev, IsProofOfStake())) From 34d9791c078bc1041bd0392546405cb2fb8cc712 Mon Sep 17 00:00:00 2001 From: Steven Saxton Date: Thu, 15 Mar 2018 12:36:06 -0400 Subject: [PATCH 23/30] hotwire for testing --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 0c74b9f..64307c2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1999,7 +1999,7 @@ bool CTransaction::GetCoinAge(CTxDB& txdb, uint64& nCoinAge) const CBlock block; if (!block.ReadFromDisk(txindex.pos.nFile, txindex.pos.nBlockPos, false)) return false; // unable to read block of previous transaction - if ( nBestHeight > (int)HF_BLOCK ) nStakeMinAge = 60 * 60 * 24 * 4; // 4 day min stake age hardfork + if ( nBestHeight >= (int)HF_BLOCK ) nStakeMinAge = 60 * 60; // 1 hour hotwire * 24 * 4; // 4 day min stake age hardfork if (block.GetBlockTime() + nStakeMinAge > nTime) continue; // only count coins meeting min age requirement From 51e59a9a7ae18a786b9a09cebd8763c422938133 Mon Sep 17 00:00:00 2001 From: Steven Saxton Date: Thu, 15 Mar 2018 12:37:13 -0400 Subject: [PATCH 24/30] testing hotwire. HF @ 100 --- src/main.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.h b/src/main.h index 1bfb06f..2038679 100644 --- a/src/main.h +++ b/src/main.h @@ -36,7 +36,7 @@ static const int64 MAX_MINT_PROOF_OF_WORK = 13 * COIN; //Lucky number 13 Coins p static const int64 MAX_MINT_PROOF_OF_STAKE = 0.01 * MAX_MINT_PROOF_OF_WORK; //1% annual interest reward the folders and holders static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE; static const unsigned int MAX_TX_COMMENT_LEN = 268; // curecoin: 256 bytes + 12 little extra -static const unsigned int HF_BLOCK = 220000; // hardfork's block height +static const unsigned int HF_BLOCK = 100; // testing hotwire 220000; // hardfork's block height inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } // Threshold for nLockTime: below this value it is interpreted as block number, otherwise as UNIX timestamp. From 005b4da978e9dbf6529983c04783c0e97667546a Mon Sep 17 00:00:00 2001 From: cygnusxi Date: Fri, 20 Apr 2018 16:56:44 -0500 Subject: [PATCH 25/30] patch HF stake values Tested and working, no more zero value stake blocks. --- src/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 64307c2..1a768a8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1038,7 +1038,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi // Stage 2 of emission process is PoS-based. It will be active on mainNet since 20 Jun 2013. CBigNum bnRewardCoinYearLimit = MAX_MINT_PROOF_OF_STAKE; // Base stake mint rate, 100% year interest - if (nBestHeight > (int)HF_BLOCK) bnRewardCoinYearLimit = (int)0.04 * MAX_MINT_PROOF_OF_WORK; // 4% hardfork + if (nBestHeight > (int)HF_BLOCK) bnRewardCoinYearLimit = (int)4 * MAX_MINT_PROOF_OF_STAKE; // 4% hardfork CBigNum bnTarget; bnTarget.SetCompact(nBits); CBigNum bnTargetLimit = bnProofOfStakeLimit; @@ -1066,7 +1066,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi bnLowerBound = bnMidValue; } nRewardCoinYear = bnUpperBound.getuint64(); - if (nBestHeight > (int)HF_BLOCK) min(nRewardCoinYear, (int)0.04 * MAX_MINT_PROOF_OF_WORK); // 4% hardfork + if (nBestHeight > (int)HF_BLOCK) min(nRewardCoinYear, (int)4 * MAX_MINT_PROOF_OF_STAKE); // 4% hardfork else nRewardCoinYear = min(nRewardCoinYear, MAX_MINT_PROOF_OF_STAKE); From caad6859f26f4b5996140709b4827d45c55ae648 Mon Sep 17 00:00:00 2001 From: cygnusxi Date: Fri, 20 Apr 2018 17:01:41 -0500 Subject: [PATCH 26/30] Reverse previous HF block test This was a test before verifying existing chain stake age behavior going into the hardfork. Stake age behavior has been verified to work with time warp tests - Still needs further testing - last test worked. --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 1a768a8..0f3fb50 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1999,7 +1999,7 @@ bool CTransaction::GetCoinAge(CTxDB& txdb, uint64& nCoinAge) const CBlock block; if (!block.ReadFromDisk(txindex.pos.nFile, txindex.pos.nBlockPos, false)) return false; // unable to read block of previous transaction - if ( nBestHeight >= (int)HF_BLOCK ) nStakeMinAge = 60 * 60; // 1 hour hotwire * 24 * 4; // 4 day min stake age hardfork + if ( nBestHeight > (int)HF_BLOCK ) nStakeMinAge = 60 * 60; // 1 hour hotwire * 24 * 4; // 4 day min stake age hardfork if (block.GetBlockTime() + nStakeMinAge > nTime) continue; // only count coins meeting min age requirement From 07d293ee70b719027fe3f817f11ca17995b1587f Mon Sep 17 00:00:00 2001 From: cygnusxi Date: Wed, 9 May 2018 10:22:35 -0500 Subject: [PATCH 27/30] Stake Value 0.04 --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 0f3fb50..aabb2b5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1038,7 +1038,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi // Stage 2 of emission process is PoS-based. It will be active on mainNet since 20 Jun 2013. CBigNum bnRewardCoinYearLimit = MAX_MINT_PROOF_OF_STAKE; // Base stake mint rate, 100% year interest - if (nBestHeight > (int)HF_BLOCK) bnRewardCoinYearLimit = (int)4 * MAX_MINT_PROOF_OF_STAKE; // 4% hardfork + if (nBestHeight > (int)HF_BLOCK) bnRewardCoinYearLimit = (int)0.04 * MAX_MINT_PROOF_OF_STAKE; // 4% hardfork CBigNum bnTarget; bnTarget.SetCompact(nBits); CBigNum bnTargetLimit = bnProofOfStakeLimit; From ad8f3948a6d6c1b482d141eb6e41657a3cfb5a55 Mon Sep 17 00:00:00 2001 From: cygnusxi Date: Wed, 9 May 2018 10:28:50 -0500 Subject: [PATCH 28/30] Stake Value 0.04 --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index aabb2b5..129732c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1066,7 +1066,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi bnLowerBound = bnMidValue; } nRewardCoinYear = bnUpperBound.getuint64(); - if (nBestHeight > (int)HF_BLOCK) min(nRewardCoinYear, (int)4 * MAX_MINT_PROOF_OF_STAKE); // 4% hardfork + if (nBestHeight > (int)HF_BLOCK) min(nRewardCoinYear, (int)0.04 * MAX_MINT_PROOF_OF_STAKE); // 4% hardfork else nRewardCoinYear = min(nRewardCoinYear, MAX_MINT_PROOF_OF_STAKE); From 7766f23b3ff6ac2946929936a5c172dd523521fb Mon Sep 17 00:00:00 2001 From: cygnusxi Date: Wed, 9 May 2018 23:40:46 -0500 Subject: [PATCH 29/30] Change Stake hard fork method slightly Tested various ways as noted in commits. This produces 4x the prefork stake values as desired, increasing from 1% to 4%. --- src/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 129732c..0f3fb50 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1038,7 +1038,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi // Stage 2 of emission process is PoS-based. It will be active on mainNet since 20 Jun 2013. CBigNum bnRewardCoinYearLimit = MAX_MINT_PROOF_OF_STAKE; // Base stake mint rate, 100% year interest - if (nBestHeight > (int)HF_BLOCK) bnRewardCoinYearLimit = (int)0.04 * MAX_MINT_PROOF_OF_STAKE; // 4% hardfork + if (nBestHeight > (int)HF_BLOCK) bnRewardCoinYearLimit = (int)4 * MAX_MINT_PROOF_OF_STAKE; // 4% hardfork CBigNum bnTarget; bnTarget.SetCompact(nBits); CBigNum bnTargetLimit = bnProofOfStakeLimit; @@ -1066,7 +1066,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi bnLowerBound = bnMidValue; } nRewardCoinYear = bnUpperBound.getuint64(); - if (nBestHeight > (int)HF_BLOCK) min(nRewardCoinYear, (int)0.04 * MAX_MINT_PROOF_OF_STAKE); // 4% hardfork + if (nBestHeight > (int)HF_BLOCK) min(nRewardCoinYear, (int)4 * MAX_MINT_PROOF_OF_STAKE); // 4% hardfork else nRewardCoinYear = min(nRewardCoinYear, MAX_MINT_PROOF_OF_STAKE); From a427ef096a26d3cbaebe2b6045f5c02e1c572c36 Mon Sep 17 00:00:00 2001 From: cygnusxi Date: Wed, 9 May 2018 23:51:50 -0500 Subject: [PATCH 30/30] Setting up for larger scale test net Results need to be tested with better dispersion of CURE on the blockchain, moving HF hot wire from 100 to 12960 blocks ( 3 months main net time ) --- src/main.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.h b/src/main.h index 2038679..5c5e743 100644 --- a/src/main.h +++ b/src/main.h @@ -36,7 +36,7 @@ static const int64 MAX_MINT_PROOF_OF_WORK = 13 * COIN; //Lucky number 13 Coins p static const int64 MAX_MINT_PROOF_OF_STAKE = 0.01 * MAX_MINT_PROOF_OF_WORK; //1% annual interest reward the folders and holders static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE; static const unsigned int MAX_TX_COMMENT_LEN = 268; // curecoin: 256 bytes + 12 little extra -static const unsigned int HF_BLOCK = 100; // testing hotwire 220000; // hardfork's block height +static const unsigned int HF_BLOCK = 12961; // testing hotwire 220000; // hardfork's block height inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } // Threshold for nLockTime: below this value it is interpreted as block number, otherwise as UNIX timestamp.