fixed mining

This commit is contained in:
Evan Duffield 2016-05-09 12:51:23 -07:00
parent 60e048071f
commit 736d22262f
2 changed files with 22 additions and 31 deletions

View File

@ -803,6 +803,7 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state)
CAmount nValueOut = 0; CAmount nValueOut = 0;
BOOST_FOREACH(const CTxOut& txout, tx.vout) BOOST_FOREACH(const CTxOut& txout, tx.vout)
{ {
printf("%s\n", tx.ToString().c_str());
if (txout.nValue < 0) if (txout.nValue < 0)
return state.DoS(100, false, REJECT_INVALID, "bad-txns-vout-negative"); return state.DoS(100, false, REJECT_INVALID, "bad-txns-vout-negative");
if (txout.nValue > MAX_MONEY) if (txout.nValue > MAX_MONEY)
@ -1447,23 +1448,11 @@ int64_t GetTotalCoinEstimate(int nHeight)
// TODO: This could be vastly improved, look at GetBlockValue for a better method // TODO: This could be vastly improved, look at GetBlockValue for a better method
//2 million coins in first two days
if(nHeight > 5076) {
nTotalCoins += 2021642;
}
/* these values are taken from the block explorer */ /* these values are taken from the block explorer */
if(nHeight > 17000) { if(nHeight > 5076) nTotalCoins += 2021642;
nTotalCoins += 3267692-2021642; if(nHeight > 17000) nTotalCoins += 3267692-2021642;
} if(nHeight > 34000) nTotalCoins += 3688775-3267692;
if(nHeight > 68000) nTotalCoins += 4277615-3688775;
if(nHeight > 34000) {
nTotalCoins += 3688775-3267692;
}
if(nHeight > 68000) {
nTotalCoins += 4277615-3688775;
}
if(nHeight > 68000*2) { if(nHeight > 68000*2) {
nTotalCoins += 4649913.99999995-4277615; nTotalCoins += 4649913.99999995-4277615;

View File

@ -286,7 +286,7 @@ CBlockTemplate* CreateNewBlock(const CChainParams& chainparams, const CScript& s
LogPrintf("CreateNewBlock(): total size %u txs: %u fees: %ld sigops %d\n", nBlockSize, nBlockTx, nFees, nBlockSigOps); LogPrintf("CreateNewBlock(): total size %u txs: %u fees: %ld sigops %d\n", nBlockSize, nBlockTx, nFees, nBlockSigOps);
// Compute final coinbase transaction. // Compute final coinbase transaction.
//txNew.vout[0].nValue = nFees + GetBlockSubsidy(nHeight, chainparams.GetConsensus()); txNew.vout[0].nValue = nFees + GetBlockSubsidy(pindexPrev->nBits, nHeight, chainparams.GetConsensus());
txNew.vin[0].scriptSig = CScript() << nHeight << OP_0; txNew.vin[0].scriptSig = CScript() << nHeight << OP_0;
pblock->vtx[0] = txNew; pblock->vtx[0] = txNew;
pblocktemplate->vTxFees[0] = -nFees; pblocktemplate->vTxFees[0] = -nFees;
@ -408,20 +408,22 @@ void static BitcoinMiner(const CChainParams& chainparams)
throw std::runtime_error("No coinbase script available (mining requires a wallet)"); throw std::runtime_error("No coinbase script available (mining requires a wallet)");
while (true) { while (true) {
if (chainparams.MiningRequiresPeers()) { // 12.1: testing note -- disabled for now
// Busy-wait for the network to come online so we don't waste time mining // if (chainparams.MiningRequiresPeers()) {
// on an obsolete chain. In regtest mode we expect to fly solo. // // Busy-wait for the network to come online so we don't waste time mining
do { // // on an obsolete chain. In regtest mode we expect to fly solo.
bool fvNodesEmpty; // do {
{ // bool fvNodesEmpty;
LOCK(cs_vNodes); // {
fvNodesEmpty = vNodes.empty(); // LOCK(cs_vNodes);
} // fvNodesEmpty = vNodes.empty();
if (!fvNodesEmpty && !IsInitialBlockDownload()) // }
break; // if (!fvNodesEmpty && !IsInitialBlockDownload())
MilliSleep(1000); // break;
} while (true); // MilliSleep(1000);
} // } while (true);
// }
// //
// Create new block // Create new block