-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathproxy.conf.example
More file actions
82 lines (72 loc) · 3.93 KB
/
Copy pathproxy.conf.example
File metadata and controls
82 lines (72 loc) · 3.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
listen_addr = 0.0.0.0
listen_port = 3334
bitcoind_url = http://127.0.0.1:18443
# bitcoind_user / bitcoind_pass are optional. Omit BOTH for a block-template
# backend that doesn't require authentication; the RPC call is then made
# without a basic-auth header. Set them for a stock bitcoind using rpcuser/
# rpcpassword (cookie auth is not supported).
bitcoind_user = drivepool
bitcoind_pass = drivepool
# How often to re-fetch the block template. On a drivechain pool this is also
# the worst-case delay before a sidechain's BMM request reaches a stratum job:
# a sidechain publishes its BMM transaction only after it sees the new tip, so
# any block found within one poll of that cannot carry the commitment. Lower it
# (5000-10000) if sidechains need to merge-mine reliably; the cost is one extra
# getblocktemplate call per interval.
bitcoind_poll_interval_ms = 30000
# Miners are paid directly: the stratum username must be the miner's
# bitcoin address (`<address>` or `<address>.<rig_label>`). The configured
# operator_address below receives a fee_bps cut of every block reward.
operator_address = bc1qREPLACEME # REPLACE with a real address for your network (bc1 mainnet / tb1 testnet / bcrt1 regtest)
fee_bps = 100 # 100 = 1%; valid range 0..1000 (max 10%)
coinbase_tag = /simplepool/
# vardiff — auto-adjust each connection's difficulty to keep the share
# rate near `target_spm` shares/minute. Set vardiff_enabled = 0 to pin
# every connection to initial_diff (legacy behaviour).
initial_diff = 1
vardiff_enabled = 1
vardiff_target_spm = 12 # ~1 share every 5 seconds per connection
vardiff_min = 1
vardiff_max = 1e12
vardiff_window_sec = 30 # how often to retarget
db_path = ./data/shares.db
commit_window_ms = 100
commit_max_shares = 100
# Days of template history to keep on the /templates page. One row is kept per
# materially distinct template, so this is roughly one row per block plus one
# per source/commitment change — set 0 to keep everything. Only the dashboard
# reads this table; the ledger lives in shares and rate_history.
templates_retention_days = 30
# Redis broadcast (optional). When set, accepted shares / rejects / blocks /
# tip changes are PUBLISHed on channels pool:shares / pool:rejects /
# pool:blocks / pool:tip as JSON. SQLite remains the source of truth — the
# broadcast is fire-and-forget. Leave empty to disable.
# redis_url = redis://127.0.0.1:6379
redis_url =
redis_publish_timeout_ms = 200
redis_reconnect_backoff_ms = 2000
# pool_mode controls the coinbase shape and the username validation:
# solo default. Coinbase pays the miner (stratum username is a
# BTC address) minus the operator fee. No PPS accrual.
# pps-classic Coinbase pays a pool BTC address (pool_btc_address below)
# as a normal P2WPKH/P2PKH output. Miners authorize with a
# Thunder address (base58 of a 20-byte hash) and accrue in
# pps_credits. The operator batches accumulated BTC into
# Thunder from the admin dashboard, and the payout worker
# drains that reserve to miners.
pool_mode = solo
# pps-classic — required
# pool_btc_address = REPLACE_WITH_POOL_BTC_ADDRESS
# pps-classic — OPTIONAL rate override, sats credited per unit of share
# difficulty. Leave it commented out and the proxy derives the rate from each
# block template as (coinbasevalue / network_difficulty) * (1 - fee_bps/1e4).
# That is the recommended setup: fee_bps becomes the single knob controlling
# the fee, and the rate follows difficulty instead of going stale.
#
# If you do set it, the value is used verbatim and treated as ALREADY NET of
# fee — fee_bps is NOT applied on top. A fixed rate drifts as difficulty
# moves and can invert into paying miners more than each share earns, so the
# proxy logs the fee your value actually implies and warns when it disagrees
# with fee_bps. Prefer leaving it unset.
# pps_sats_per_diff = 1000
log_level = info