1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2012 The Bitcoin developers
3 // Distributed under the MIT/X11 software license, see the accompanying
4 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 #ifndef BITCOIN_MINER_H
6 #define BITCOIN_MINER_H
11 /** Run the miner threads */
12 void GenerateBitcoins(bool fGenerate, CWallet* pwallet);
13 /** Generate a new block, without valid proof-of-work */
14 CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn);
15 CBlockTemplate* CreateNewBlockWithKey(CReserveKey& reservekey);
16 /** Modify the extranonce in a block */
17 void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce);
18 /** Do mining precalculation */
19 void FormatHashBuffers(CBlock* pblock, char* pmidstate, char* pdata, char* phash1);
20 /** Check mined block */
21 bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey);
22 /** Base sha256 mining transform */
23 void SHA256Transform(void* pstate, void* pinput, const void* pinit);
25 extern double dHashesPerSec;
26 extern int64 nHPSTimerStart;
28 #endif // BITCOIN_MINER_H