-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmining.html
More file actions
228 lines (216 loc) · 14.6 KB
/
Copy pathmining.html
File metadata and controls
228 lines (216 loc) · 14.6 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Solo mining on mainnet</title>
<meta name="description" content="Run Bitcoin Knots 29.4.1 and the CONVOY DATUM Gateway on mainnet. This chain is on BLAKE2b from block 961640.">
<meta name="robots" content="index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1">
<meta name="referrer" content="strict-origin-when-cross-origin">
<meta name="theme-color" content="#f7931a">
<link rel="canonical" href="https://bitcoin-blake2b.org/mining">
<meta property="og:title" content="Solo mining on mainnet">
<meta property="og:description" content="Run Bitcoin Knots 29.4.1 and the CONVOY DATUM Gateway on mainnet. This chain is on BLAKE2b from block 961640.">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Bitcoin">
<meta property="og:url" content="https://bitcoin-blake2b.org/mining">
<meta property="og:image" content="https://bitcoin-blake2b.org/media/og-image.png?v=2">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Solo mining on mainnet">
<meta name="twitter:description" content="Run Bitcoin Knots 29.4.1 and the CONVOY DATUM Gateway on mainnet. This chain is on BLAKE2b from block 961640.">
<meta name="twitter:image" content="https://bitcoin-blake2b.org/media/og-image.png?v=2">
<link rel="icon" href="/media/logo.svg" type="image/svg+xml">
<link rel="stylesheet" href="/static/style.css?v=8">
</head>
<body>
<a class="skip-link" href="#content">Skip to content</a>
<header class="site-header">
<div class="wrap header-bar">
<a class="brand" href="/">
<img src="/media/header-logo.png?v=2" alt="Bitcoin">
</a>
<button class="nav-toggle" type="button" data-nav-toggle aria-expanded="false" aria-controls="site-nav">Menu</button>
<nav class="site-nav" id="site-nav" data-site-nav aria-label="Primary">
<div class="nav-item" data-dropdown>
<button type="button" data-dropdown-button aria-expanded="false">Introduction</button>
<div class="dropdown-menu">
<a href="/individuals">Individuals</a>
<a href="/businesses">Businesses</a>
<a href="/developers">Developers</a>
<a href="/getting-started">Getting started</a>
<a href="/how-it-works">How it works</a>
<a href="/you-need-to-know">You need to know</a>
</div>
</div>
<div class="nav-item" data-dropdown>
<button type="button" data-dropdown-button aria-expanded="false">Resources</button>
<div class="dropdown-menu">
<a href="https://github.com/bitcoinknots/bitcoin/blob/v29.4.1.knots20260508/doc/release-notes.md" rel="noopener">Release notes</a>
<a href="/nodes">Node operators</a>
<a href="/miners">Miners and DATUM</a>
<a href="/mining">Bitcoin Knots</a>
<a href="https://github.com/bitcoinknots/bitcoin" rel="noopener">Knots source</a>
</div>
</div>
<a href="/getting-started">Participate</a>
<a href="/faq">FAQ</a>
</nav>
</div>
</header>
<main id="content">
<header class="page-header">
<div class="wrap">
<p class="kicker">Resources</p>
<h1>Solo mining on mainnet</h1>
<p>Run Bitcoin Knots 29.4.1 and the <a href="https://github.com/CONVOYMining/datum_gateway" rel="noopener">DATUM Gateway</a> on mainnet. CONVOY is the BLAKE2b and header-v2 DATUM. Block 961639 is the last SHA256d block. The first BLAKE2b block is 961640. This chain is on BLAKE2b now.</p>
</div>
</header>
<article class="wrap prose">
<p>Download <strong>29.4.1.knots20260508</strong> for your architecture (for example <code>x86_64-linux-gnu</code> or <code>aarch64-linux-gnu</code>):</p>
<ul>
<li>Official builds: <a href="https://bitcoinknots.org/?29.4.1.20260508?twitter" rel="noopener">bitcoinknots.org</a></li>
<li>GitHub release: <a href="https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.1.knots20260508" rel="noopener">v29.4.1.knots20260508</a></li>
<li>Source: <a href="https://github.com/bitcoinknots/bitcoin" rel="noopener">github.com/bitcoinknots/bitcoin</a></li>
</ul>
<p>Check the build against <code>SHA256SUMS</code> and <code>SHA256SUMS.asc</code> in the <a href="https://bitcoinknots.org/files/29.x/29.4.1.knots20260508/" rel="noopener">files folder</a>. Do not set <code>chain=testnet4</code>. Keep the same data directory if you already have a mainnet node.</p>
<h2>1. Knots on mainnet</h2>
<p>Minimal <code>bitcoin.conf</code>. <code>txindex=1</code> is not required for DATUM or <code>getblocktemplate</code>. Working nodes often add extra knobs such as <code>consensusrules=rdts</code>, <code>maxtipage</code>, and a larger mempool. <code>blocknotify</code> via <code>/NOTIFY</code> or <code>killall -USR1</code> both work:</p>
<pre><code>server=1
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
rpcuser=USER
rpcpassword=PASS
# optional: notify DATUM on new blocks
blocknotify=curl -fsS -o /dev/null http://127.0.0.1:7152/NOTIFY</code></pre>
<p>Default P2P port is <strong>8333</strong>. Forward inbound TCP <strong>8333</strong> on your router to this machine so other nodes can connect to you. Default RPC port is <strong>8332</strong>. Leave RPC on localhost.</p>
<pre><code>bitcoin-cli getblockchaininfo
bitcoin-cli getdeploymentinfo
# blake2b.height == 961640 and blake2b.active == true
# deployments.reduced_data.height == 961640 and active == true</code></pre>
<h2>2. DATUM Gateway</h2>
<p>Clone the BLAKE2b and header-v2 gateway from <a href="https://github.com/CONVOYMining/datum_gateway" rel="noopener">CONVOY</a>:</p>
<pre><code>git clone https://github.com/CONVOYMining/datum_gateway.git
cd datum_gateway
# build per README (cmake + libmicrohttpd, jansson, curl, libsodium, …)</code></pre>
<p>Use a build that includes commit <code>56c31f4</code> (<em>pow: Include header-v2 bit in BLAKE2b H1 commitment version</em>) or later. Without that change, share proof of work will not match Knots 29.4.1 <code>GetHash</code>.</p>
<p>Example <code>datum_gateway_config.json</code>:</p>
<pre><code>{
"bitcoind": {
"rpcuser": "USER",
"rpcpassword": "PASS",
"rpcurl": "http://127.0.0.1:8332"
},
"stratum": { "listen_addr": "0.0.0.0", "listen_port": 23334 },
"api": {
"listen_addr": "0.0.0.0",
"listen_port": 7152,
"admin_password": "CHANGE_ME",
"modify_conf": true
},
"mining": {
"pool_address": "bc1q…your_mainnet_address…",
"coinbase_tag_primary": "MyTag",
"allow_hasher_time_rolling": false
},
"datum": { "pool_host": "", "pooled_mining_only": false }
}</code></pre>
<pre><code>datum_gateway -c /path/to/datum_gateway_config.json</code></pre>
<ul>
<li>UI: <code>http://HOST:7152</code> (digest auth uses <code>admin_password</code>)</li>
<li>Stratum: <code>stratum+tcp://HOST:23334</code></li>
</ul>
<p>CONVOY serves BLAKE2b / header-v2 jobs when GBT advertises !blake2b. There is no pow_algorithm setting.</p>
<p>Solo needs <code>pool_host</code> empty and <code>pooled_mining_only</code> false. CONVOY's built-in defaults turn pooled mining on and point at a CONVOY pool host. If you empty the host and leave pooled mining on, the process exits. Their example config is a pool example; do not use it as the solo recipe. Solo can omit <code>abw_verify_all_shares_on_disclosure</code>.</p>
<h2>3. Miners</h2>
<p>This chain is on BLAKE2b now. CONVOY only serves BLAKE2b and BLAKE2b-sia header-v2 jobs. It will not mine SHA256d. If GBT does not advertise blake2b, it serves no work. SHA256d hardware was useful through block 961639 and cannot add blocks here.</p>
<p>Point the miner at your stratum URL. The username can be any worker name DATUM accepts. A payout address is a common choice.</p>
<p>Confirm GBT advertises blake2b:</p>
<pre><code>bitcoin-cli getblocktemplate '{"rules":["segwit","blake2b"]}'
# expect "!blake2b" in rules</code></pre>
<h2>4. Optional peer</h2>
<pre><code>addnode=OTHER_HOST:8333</code></pre>
<h2>What working looks like</h2>
<ul>
<li><code>getdeploymentinfo</code> reports <code>blake2b.height</code> <strong>961640</strong> and <code>blake2b.active</code> true, plus <code>deployments.reduced_data</code> at the same height and active.</li>
<li>GBT from a client that supports blake2b shows <code>!blake2b</code>.</li>
<li>DATUM serves BLAKE2b / header v2 jobs (Sia-style notify: commitment <code>coinb1</code>, JSON merkle <code>[]</code>, longer <code>ntime</code> and <code>nonce</code> fields, and related fields). It waits for a BLAKE2b anti-withholding assignment before using a template.</li>
<li>A BLAKE2b or BLAKE2b-sia miner connects, hashes, and submits shares. Hashrate shows up in DATUM stats and the UI.</li>
<li>On a real block you should see <code>BLOCK FOUND - <hash></code>, and the new tip hash should be that same hash.</li>
<li>Knots accepts the block via <code>submitblock</code>. A second log line saying <code>duplicate</code> is normal. DATUM submits twice; one path wins.</li>
<li>You should not see intermittent <code>high-hash</code> on valid BLAKE2b or BLAKE2b-sia blocks if DATUM is at <code>56c31f4</code> or later. Older builds hashed H1 without wire bit <code>0x80000000</code>, so DATUM's block hash often disagreed with Knots: about a coin-flip on easy regtest, and almost all rejects at real difficulty.</li>
</ul>
<h3>Quick health checks</h3>
<ol>
<li>Miners stay connected and jobs refresh on new tips.</li>
<li>Shares are accepted. You are not flooded with unknown-work or high-hash rejects.</li>
<li>The <code>BLOCK FOUND</code> hash equals the new chain tip.</li>
<li>GBT from a supporting client shows <code>!blake2b</code>.</li>
</ol>
<h3>Common mistakes</h3>
<ul>
<li>DATUM older than <code>56c31f4</code> can print <code>BLOCK FOUND</code> and then intermittent or frequent <code>high-hash</code>.</li>
<li>Leaving CONVOY's pooled-mining defaults on, or emptying <code>pool_host</code> while <code>pooled_mining_only</code> is still true.</li>
<li>Setting <code>chain=testnet4</code> or peering on 48333. Mainnet P2P is 8333.</li>
<li>Leaving 8333 closed on the router. The node can still make outbound peers, but inbound peers cannot reach you.</li>
</ul>
<h2>Checklist</h2>
<ol>
<li>Knots 29.4.1 from the links above, using your existing mainnet data directory if you already have one.</li>
<li>DATUM from CONVOY at <code>56c31f4</code> or later.</li>
<li>BLAKE2b and BLAKE2b-sia miners on stratum port 23334.</li>
<li>Confirm the <code>BLOCK FOUND</code> hash matches the tip. Ignore a benign dual-submit <code>duplicate</code>.</li>
</ol>
<div class="button-row" style="margin-top:1.5rem;">
<a class="button button-primary" href="/miners">Miners and DATUM</a>
<a class="button button-ghost" href="https://bitcoinknots.org/?29.4.1.20260508?twitter" rel="noopener">Knots 29.4.1 downloads</a>
</div>
</article>
</main>
<footer class="site-footer">
<div class="wrap">
<div class="footer-grid">
<div>
<a class="footer-brand" href="/">
<img src="/media/logo.svg" alt="">
Bitcoin
</a>
<p>Open source P2P money. Bitcoin with the BLAKE2b algorithm keeps Bitcoin as money only.</p>
</div>
<div>
<h2>Introduction</h2>
<ul>
<li><a href="/individuals">Individuals</a></li>
<li><a href="/businesses">Businesses</a></li>
<li><a href="/developers">Developers</a></li>
<li><a href="/getting-started">Getting started</a></li>
<li><a href="/how-it-works">How it works</a></li>
<li><a href="/you-need-to-know">You need to know</a></li>
</ul>
</div>
<div>
<h2>Resources</h2>
<ul>
<li><a href="https://github.com/bitcoinknots/bitcoin/blob/v29.4.1.knots20260508/doc/release-notes.md" rel="noopener">Release notes</a></li>
<li><a href="/nodes">Node operators</a></li>
<li><a href="/miners">Miners and DATUM</a></li>
<li><a href="/mining">Bitcoin Knots</a></li>
<li><a href="https://github.com/bitcoinknots/bitcoin" rel="noopener">Knots source</a></li>
<li><a href="/faq">FAQ</a></li>
</ul>
</div>
<div>
<h2>Other</h2>
<ul>
<li><a href="/privacy">Privacy</a></li>
<li><a href="https://bitcoin.org/bitcoin.pdf" rel="noopener">White paper</a></li>
<li><a href="https://github.com/CONVOYMining/datum_gateway" rel="noopener">DATUM Gateway</a></li>
<li><a href="https://github.com/innerhat-dev/bitcoin-blake2b.org" rel="noopener">Site source</a></li>
</ul>
</div>
</div>
<p class="footer-note">© Bitcoin Project from 2009 to 2026. bitcoin-blake2b.org is the canonical site. btc-blake2b.org, btc-blake2b.com, and bitcoin-blake2b.be redirect or serve the same pages.</p>
</div>
</footer>
<script src="/static/site.js?v=4"></script>
</body>
</html>