upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.h')
-rw-r--r--src/main.h42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/main.h b/src/main.h
index a369476..3d7d6dd 100644
--- a/src/main.h
+++ b/src/main.h
@@ -48,7 +48,37 @@ extern CBlockIndex* pindexBest;
48extern unsigned int nTransactionsUpdated; 48extern unsigned int nTransactionsUpdated;
49extern string strSetDataDir; 49extern string strSetDataDir;
50extern int nDropMessagesTest; 50extern 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
58extern int nMineMode;
59extern string strParticipantPool; // participant: pool .btf address
60extern string strPoolName; // operator: announced pool name
61extern string strPoolDashboardUrl; // operator: optional dashboard URL
62extern double dPoolFeePercent; // operator: announced fee percent
51extern bool fSoloMineTest; // /solomine: mine without requiring a peer (local test) 63extern bool fSoloMineTest; // /solomine: mine without requiring a peer (local test)
64extern bool gPoolServerRunning; // GUI/startup state
65extern volatile bool gPoolRunning; // runtime pool server loop flag (rpc.cpp)
66
67struct PendingPayoutView
68{
69 int matureAtHeight;
70 int recipients;
71 int64 totalAmount;
72};
73
74struct 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
54extern int fGenerateBitcoins; 84extern int fGenerateBitcoins;
@@ -72,7 +102,17 @@ void RelayWalletTransactions();
72bool LoadBlockIndex(bool fAllowNew=true); 102bool LoadBlockIndex(bool fAllowNew=true);
73void PrintBlockTree(); 103void PrintBlockTree();
74bool BitcoinMiner(); 104bool BitcoinMiner();
105void ThreadRPCServer(void* parg); // rpc.cpp — .btf pool server
106void GetParticipantMiningStats(uint64& sharesSent, uint64& sharesAccepted, double& hashRate);
107void SetParticipantMiningStatus(const std::string& status);
108std::string GetParticipantMiningStatus();
109void GetPoolOperatorStats(int& authorizedMiners, int& blocksFound, uint64& roundShares);
110void GetPoolWorkerStats(std::vector<PoolWorkerStatView>& out);
111void GetPendingPayouts(std::vector<PendingPayoutView>& out);
75bool ProcessMessages(CNode* pfrom); 112bool ProcessMessages(CNode* pfrom);
113bool ProcessBlock(CNode* pfrom, CBlock* pblock);
114unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast);
115extern CCriticalSection cs_mapTransactions;
76bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv); 116bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv);
77bool SendMessages(CNode* pto); 117bool SendMessages(CNode* pto);
78int64 GetBalance(); 118int64 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