Skip to content

Commit 6cb2743

Browse files
committed
doc: update minimum Bitcoin Core version to v30.2
- Update minimum required Bitcoin Core version from v30.0 to v30.2 - Remove interruptWait() exception handling since v30.2 implements it - Add Requirements section to doc/stratum-v2.md documenting version requirement and backwards compatibility notes
1 parent 266127d commit 6cb2743

3 files changed

Lines changed: 24 additions & 11 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ dependencies.
2929

3030
Usage
3131
------------------------
32-
Download or compile Bitcoin Core v30.0 or later. Start it with:
32+
Download or compile Bitcoin Core v30.2 or later. Start it with:
3333

3434
```sh
3535
bitcoin -m node -ipcbind=unix

doc/stratum-v2.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# Stratum v2
22

3+
## Requirements
4+
5+
### Bitcoin Core Version
6+
7+
sv2-tp requires **Bitcoin Core v30.2 or later** compiled with IPC support
8+
(`bitcoin-node` binary, not `bitcoind`).
9+
10+
**Why v30.2?**
11+
- v30.2 implements `interruptWait()` for clean shutdown of template waiting
12+
- v30.2 properly enforces minimum block reserved weight
13+
14+
**Backwards Compatibility:**
15+
- v30.0 and v30.1 are **not supported**. Using older versions may result in:
16+
- Crash on shutdown (missing `interruptWait()` implementation)
17+
- Unexpected block reserved weight behavior
18+
19+
To check your Bitcoin Core version:
20+
```sh
21+
bitcoin-node --version
22+
```
23+
324
## Design
425

526
The Stratum v2 protocol specification can be found here: https://stratumprotocol.org/specification

src/sv2/template_provider.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -131,16 +131,8 @@ void Sv2TemplateProvider::Interrupt()
131131
LogPrintLevel(BCLog::SV2, BCLog::Level::Trace, "Interrupt pending waitNext() calls...");
132132
{
133133
LOCK(m_tp_mutex);
134-
try {
135-
for (auto& t : GetBlockTemplates()) {
136-
t.second.second->interruptWait();
137-
}
138-
} catch (const ipc::Exception& e) {
139-
// Bitcoin Core v30 does not yet implement interruptWait(), fall back
140-
// to just waiting until waitNext() returns.
141-
LogPrintLevel(BCLog::SV2, BCLog::Level::Info,
142-
"Interrupt received, waiting up to %d seconds before shutting down (-sv2interval)",
143-
m_options.fee_check_interval.count());
134+
for (auto& t : GetBlockTemplates()) {
135+
t.second.second->interruptWait();
144136
}
145137
}
146138

0 commit comments

Comments
 (0)