|
|
|
@ -52,7 +52,7 @@ namespace cryptonote
|
|
|
|
|
~i_miner_handler(){};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class Blockchain;
|
|
|
|
|
typedef std::function<bool(const cryptonote::block&, uint64_t, unsigned int, crypto::hash&)> get_block_hash_t;
|
|
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
/* */
|
|
|
|
@ -60,7 +60,7 @@ namespace cryptonote
|
|
|
|
|
class miner
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
miner(i_miner_handler* phandler, Blockchain* pbc);
|
|
|
|
|
miner(i_miner_handler* phandler, const get_block_hash_t& gbh);
|
|
|
|
|
~miner();
|
|
|
|
|
bool init(const boost::program_options::variables_map& vm, network_type nettype);
|
|
|
|
|
static void init_options(boost::program_options::options_description& desc);
|
|
|
|
@ -76,7 +76,7 @@ namespace cryptonote
|
|
|
|
|
bool on_idle();
|
|
|
|
|
void on_synchronized();
|
|
|
|
|
//synchronous analog (for fast calls)
|
|
|
|
|
static bool find_nonce_for_given_block(const Blockchain *pbc, block& bl, const difficulty_type& diffic, uint64_t height);
|
|
|
|
|
static bool find_nonce_for_given_block(const get_block_hash_t &gbh, block& bl, const difficulty_type& diffic, uint64_t height);
|
|
|
|
|
void pause();
|
|
|
|
|
void resume();
|
|
|
|
|
void do_print_hashrate(bool do_hr);
|
|
|
|
@ -135,7 +135,7 @@ namespace cryptonote
|
|
|
|
|
std::list<boost::thread> m_threads;
|
|
|
|
|
epee::critical_section m_threads_lock;
|
|
|
|
|
i_miner_handler* m_phandler;
|
|
|
|
|
Blockchain* m_pbc;
|
|
|
|
|
get_block_hash_t m_gbh;
|
|
|
|
|
account_public_address m_mine_address;
|
|
|
|
|
epee::math_helper::once_a_time_seconds<5> m_update_block_template_interval;
|
|
|
|
|
epee::math_helper::once_a_time_seconds<2> m_update_merge_hr_interval;
|
|
|
|
|