Skip to content
Bitcoin Roots

v31.1-roots.1 · Commit 7: [PATCH 07/17] feat(rpc): preserve Roots operator interfaces on v31

doc/roots-features.md

Before: doc/roots-features.md · After: doc/roots-features.md

File metadata
index 034b40905ff5cfa2c68a21a108d3e33fa56fc728..58513600eeed9c294c8b109d45301018abfe75a4 100644

Download original patch · Release notes

Diff rows 1–45 of 45. Line numbers refer to the original before/after files.

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. Before is on the left; after is on the right. Unified view fits narrow screens more easily.

doc/roots-features.md CHANGED
@@ -18,12 +18,14 @@ Roots behavior has been ported**. L7 implements scoped parsing and local transac
18
  accounting and replacement/TRUC/reuse controls; L8.2 repairs dynamic dust lifecycle.
19
  Priority/template
20
  mining to L9; peer controls/health to L10; sweep, coin-control and per-send
21
- RBF extensions to L11; read/write config, effective-policy RPC, resource support
22
- and dormant statistics to L12; identity/desktop and maintenance integration to
23
  L13. L11.1 adds database-discovery/write-access safeguards, Unix signer descriptor
24
  closure, wallet-derived per-send RBF defaults and prepared-transaction/PSBT
25
  signaling. L11.2 adds transient-key sweep with cancellation/final authorization,
26
- shared UTXO scanning and wallet-derived coin-control facts.
 
 
 
27
 
28
  The narrow monotonic `uptime` RPC sub-aspect has reviewed upstream
29
  equivalence; this does not retire the remaining operator-stats contract.
@@ -400,16 +402,18 @@ mining. Explicitly supplied staged options warn that they are not enforced.
400
  not an available RPC. GUI-on/headless-off help wording also conflicts with
401
  the model's default-disabled constant. Wiring and schema/default decisions
402
  must be reviewed before claiming preservation of a working statistics service.
403
- - **runtime-resources:** RAM detection influences inherited node cache sizing;
404
- advisory file allocation must preserve existing bytes, FD limits and GiB
405
- conversion must avoid overflow. Memory-pressure and I/O-priority helpers are
406
- platform-scoped support, not proof of active consumers on each platform.
407
- See cache sizing (`src/node/caches.cpp`, source reference), FS helpers (`src/util/fs_helpers.cpp`, source reference),
408
- memory pressure (`src/util/mempressure.cpp`, source reference) and I/O priority (`src/util/ioprio.cpp`, source reference).
409
- Acceptance: system_ram_tests.cpp (`src/test/system_ram_tests.cpp`, source reference),
410
- fs_tests.cpp (`src/test/fs_tests.cpp`, source reference) and util_tests.cpp (`src/test/util_tests.cpp`, source reference).
411
- Gap: platform/failure/concurrency evidence for unused helpers; no dedicated
412
- Tor-launch behavior is established by a build flag.
 
 
413
  - **build-portability:** retain supported CMake switches and actual dependency
414
  probes, Qt 5/6 branches, QR/signer/taskbar conditions, native crypto flags,
415
  and usable system LevelDB memory environment. Defaults include wallet/tests
 
18
  accounting and replacement/TRUC/reuse controls; L8.2 repairs dynamic dust lifecycle.
19
  Priority/template
20
  mining to L9; peer controls/health to L10; sweep, coin-control and per-send
21
+ RBF extensions to L11; resource safeguards remain L12.2; identity/desktop and maintenance integration to
 
22
  L13. L11.1 adds database-discovery/write-access safeguards, Unix signer descriptor
23
  closure, wallet-derived per-send RBF defaults and prepared-transaction/PSBT
24
  signaling. L11.2 adds transient-key sweep with cancellation/final authorization,
25
+ shared UTXO scanning and wallet-derived coin-control facts. L12.1 implements
26
+ read/write config and initialized effective-policy reporting, preserves native
27
+ monotonic uptime, and retains statistics model/schema source dormant.
28
+ Production does not expose `getmempoolstats` or collect samples.
29
 
30
  The narrow monotonic `uptime` RPC sub-aspect has reviewed upstream
31
  equivalence; this does not retire the remaining operator-stats contract.
 
402
  not an available RPC. GUI-on/headless-off help wording also conflicts with
403
  the model's default-disabled constant. Wiring and schema/default decisions
404
  must be reviewed before claiming preservation of a working statistics service.
405
+ - **runtime-resources:** advisory file allocation preserves existing bytes;
406
+ FD-limit results and GiB conversion avoid overflow. Native RAM detection and
407
+ warning thresholds are retained. v31 uses a 1 GiB default cache on 64-bit
408
+ hosts with at least 4 GiB detected RAM, and 450 MiB otherwise (also when RAM
409
+ is unknown); source used a fixed 450 MiB default. Explicit `dbcache` values
410
+ retain checked MiB conversion, a 4 MiB minimum and a 1 GiB 32-bit cap.
411
+ See [cache sizing](/src/node/caches.cpp), [FS helpers](/src/util/fs_helpers.cpp),
412
+ [byte units](/src/util/byte_units.h) and
413
+ [port review](/doc/roots-v31-port-review.md#l122-runtime-resource-adaptation).
414
+ Source memory-pressure, I/O-priority and sequential/cache-discard helpers have
415
+ no production callers and are not added as active services. Local Linux
416
+ tests do not establish execution guarantees for other platform branches.
417
  - **build-portability:** retain supported CMake switches and actual dependency
418
  probes, Qt 5/6 branches, QR/signer/taskbar conditions, native crypto flags,
419
  and usable system LevelDB memory environment. Defaults include wallet/tests