diff options
Diffstat (limited to 'src/main.h')
| -rw-r--r-- | src/main.h | 42 |
1 files changed, 41 insertions, 1 deletions
| @@ -48,7 +48,37 @@ extern CBlockIndex* pindexBest; | |||
| 48 | extern unsigned int nTransactionsUpdated; | 48 | extern unsigned int nTransactionsUpdated; |
| 49 | extern string strSetDataDir; | 49 | extern string strSetDataDir; |
| 50 | extern int nDropMessagesTest; | 50 | extern int nDropMessagesTest; |
| 51 | // Mining mode — persisted in wallet.dat | ||
| 52 | // MINE_SOLO (0): mine to own wallet, no pool server | ||
| 53 | // MINE_OPERATOR (1): run pool server, mine to own wallet, distribute to miners | ||
| 54 | // MINE_PARTICIPANT (2): connect to external pool, submit shares, receive payouts | ||
| 55 | #define MINE_SOLO 0 | ||
| 56 | #define MINE_OPERATOR 1 | ||
| 57 | #define MINE_PARTICIPANT 2 | ||
| 58 | extern int nMineMode; | ||
| 59 | extern string strParticipantPool; // participant: pool .btf address | ||
| 60 | extern string strPoolName; // operator: announced pool name | ||
| 61 | extern string strPoolDashboardUrl; // operator: optional dashboard URL | ||
| 62 | extern double dPoolFeePercent; // operator: announced fee percent | ||
| 51 | extern bool fSoloMineTest; // /solomine: mine without requiring a peer (local test) | 63 | extern bool fSoloMineTest; // /solomine: mine without requiring a peer (local test) |
| 64 | extern bool gPoolServerRunning; // GUI/startup state | ||
| 65 | extern volatile bool gPoolRunning; // runtime pool server loop flag (rpc.cpp) | ||
| 66 | |||
| 67 | struct PendingPayoutView | ||
| 68 | { | ||
| 69 | int matureAtHeight; | ||
| 70 | int recipients; | ||
| 71 | int64 totalAmount; | ||
| 72 | }; | ||
| 73 | |||
| 74 | struct PoolWorkerStatView | ||
| 75 | { | ||
| 76 | std::string address; | ||
| 77 | std::string worker; | ||
| 78 | uint64 totalShares; | ||
| 79 | uint64 roundShares; | ||
| 80 | int64 lastSeen; | ||
| 81 | }; | ||
| 52 | 82 | ||
| 53 | // Settings | 83 | // Settings |
| 54 | extern int fGenerateBitcoins; | 84 | extern int fGenerateBitcoins; |
| @@ -72,7 +102,17 @@ void RelayWalletTransactions(); | |||
| 72 | bool LoadBlockIndex(bool fAllowNew=true); | 102 | bool LoadBlockIndex(bool fAllowNew=true); |
| 73 | void PrintBlockTree(); | 103 | void PrintBlockTree(); |
| 74 | bool BitcoinMiner(); | 104 | bool BitcoinMiner(); |
| 105 | void ThreadRPCServer(void* parg); // rpc.cpp — .btf pool server | ||
| 106 | void GetParticipantMiningStats(uint64& sharesSent, uint64& sharesAccepted, double& hashRate); | ||
| 107 | void SetParticipantMiningStatus(const std::string& status); | ||
| 108 | std::string GetParticipantMiningStatus(); | ||
| 109 | void GetPoolOperatorStats(int& authorizedMiners, int& blocksFound, uint64& roundShares); | ||
| 110 | void GetPoolWorkerStats(std::vector<PoolWorkerStatView>& out); | ||
| 111 | void GetPendingPayouts(std::vector<PendingPayoutView>& out); | ||
| 75 | bool ProcessMessages(CNode* pfrom); | 112 | bool ProcessMessages(CNode* pfrom); |
| 113 | bool ProcessBlock(CNode* pfrom, CBlock* pblock); | ||
| 114 | unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast); | ||
| 115 | extern CCriticalSection cs_mapTransactions; | ||
| 76 | bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv); | 116 | bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv); |
| 77 | bool SendMessages(CNode* pto); | 117 | bool SendMessages(CNode* pto); |
| 78 | int64 GetBalance(); | 118 | int64 GetBalance(); |
| @@ -351,7 +391,7 @@ public: | |||
| 351 | { | 391 | { |
| 352 | if (scriptPubKey.size() < 6) | 392 | if (scriptPubKey.size() < 6) |
| 353 | return "CTxOut(error)"; | 393 | return "CTxOut(error)"; |
| 354 | return strprintf("CTxOut(nValue=%I64d.%08I64d, scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,24).c_str()); | 394 | return strprintf("CTxOut(nValue=%lld.%08lld, scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,24).c_str()); |
| 355 | } | 395 | } |
| 356 | 396 | ||
| 357 | void print() const | 397 | void print() const |