upleb.uk

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

summaryrefslogtreecommitdiff
path: root/main/stratum_client.h
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-19 04:07:16 +0530
committerYour Name <you@example.com>2026-05-19 04:07:16 +0530
commitc75230e551a778408b2e370b208aff76b74c6560 (patch)
tree0cf51ecae1c469b7e10272d44b37f69ff4cb611f /main/stratum_client.h
parentabee221b0f0e5a4513ab126afbdfddc2728df6be (diff)
feat(mining): add new mining source files and unit tests
- mining_payment.c/h: hashprice calc, share validation, per-client hashrate - stratum_client.c/h: SV1 upstream pool connection - stratum_proxy.c/h: local SV1 TCP server for downstream miners - sw_miner.c/h: software SHA256d miner using mbedtls - asic_miner.c/h: ASIC detection stub (software fallback) - test_mining_payment.c: 23 unit tests for mining payment module
Diffstat (limited to 'main/stratum_client.h')
-rw-r--r--main/stratum_client.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/main/stratum_client.h b/main/stratum_client.h
new file mode 100644
index 0000000..e143439
--- /dev/null
+++ b/main/stratum_client.h
@@ -0,0 +1,27 @@
1#ifndef STRATUM_CLIENT_H
2#define STRATUM_CLIENT_H
3
4#include "esp_err.h"
5#include "stratum_proxy.h"
6#include <stdint.h>
7#include <stdbool.h>
8
9typedef struct {
10 bool connected;
11 char pool_host[128];
12 uint16_t pool_port;
13 uint32_t nbits;
14 uint64_t difficulty;
15 uint64_t shares_accepted;
16 uint64_t shares_rejected;
17 bool sv2_active;
18} stratum_client_state_t;
19
20esp_err_t stratum_client_init(void);
21esp_err_t stratum_client_start(void);
22void stratum_client_stop(void);
23esp_err_t stratum_client_submit_share(uint32_t job_id, uint32_t nonce, uint32_t ntime, uint32_t version);
24const stratum_client_state_t *stratum_client_get_state(void);
25void stratum_client_tick(void);
26
27#endif