You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Knuth is a high-performance Bitcoin Cash full node written in C++. This StartOS
package mirrors the BCHN / BCHD / Flowee schema: per-network ports, optional
JSON-RPC (v1.3.0+), Tor dependency, and test-network data isolation under
/data/<network>/.
Versioning: the number before : is kth upstream (today 1.3.0). The
number after : is the StartOS package revision, starting at :0
(1.3.0:0, 1.3.0:1, …). Packaging-only fixes bump :N only — never invent
a fake kth version.
getblockchaininfo when JSON-RPC is on; otherwise the kth process
Blockchain Sync
Always
Sidecar getblockchaininfo (lifts stale kth blocks to the blk*.dat tip). A <0.1% header gap at the tip is Synced, not Syncing 100%.
Peer Connections
Always
Knuth Peers: n/m status log (no getpeerinfo in v1.3.0)
Tor
Always
Optional — listed as a dependency; health is disabled until Tor routing is turned on
I2P
Always
Disabled (same as BCHN/Flowee until implemented)
Clearnet
Always
Outbound unless a public address is published
UTXO-Z Storage / IPC / C-API
Always
Knuth-specific capability rows
10. Dependencies
Package
Optional
Purpose
tor
yes (optional)
Always listed on the Dependencies tab (kind: exists when Tor Routing is off, kind: running when on). Not required to be running unless Node Settings → Tor Routing is enabled.
11. Default Overrides
Setting
StartOS value
Reason
--init_run
always
init chain then run
--network
from store
v1.3.0 network select
db.db_mode
full
indexed; required for Fulcrum/Explorer
rpc.enabled
false
opt-in; credentials pre-generated
rpc.bind
0.0.0.0
reachable from other containers
net.hosts_file
under /data
kth defaults to CWD /
IPC / UTXOZ
true
capability flags for dependents
12. Limitations and Differences
Official ghcr.io/k-nuth/kth may lack RPC until upstream builds with rpc=True (see k-nuth/docker-images PR #7). This package can use a local RPC-enabled image interim.
No initialblockdownload / verificationprogress — sync health uses Knuth's coordinator log (RPC getblockchaininfo.blocks is often 0 at the tip).
gRPC not exposed in this package.
Tor proxy passthrough to kth is opt-in; verify after enabling.
RPC compatibility sidecar — kth 1.3.0 fetch_block() is a stub after the LMDB→blk*.dat move (object does not exist for every hash). The package runs scripts/rpc_compat.py on the public RPC port and leaves kth on 127.0.0.1:19332. Ready probes kth on that internal port so the sidecar can start. The sidecar also implements getnetworkinfo, classic getblocktemplate (from getblocktemplatelight), submitblock→submitblocklight, and cashaddr validateaddress. JSON-RPC bodies end with a trailing LF so ckpool/EloPool (read_socket_line) does not hang 20s after HTTP/1.1 200 OK.