Skip to content
View bitcoin-praxis's full-sized avatar

Block or report bitcoin-praxis

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
bitcoin-praxis/README.md

Bitcoin-Praxis

Build Status ISC License

Bitcoin-Praxis is a Bitcoin full node forked from btcd. The daemon binary is praxisd.

It downloads, validates, and serves the blockchain using the same consensus rules as Bitcoin Core (including consensus bugs), inherited from btcd's long production track record since October 2013. Consensus safety remains the hard gate: blockchain/fullblocktests must pass with identical outcomes.

What is different

  • Witness-separated cold storage (M1, shipped): past a rolling --witness-buffer (default 2016), witness is excised and the stripped block is zstd-compressed. Measured 52.5% smaller on a 1005 GB mainnet chain (~477 GB). Distinct from --prune, which deletes whole blocks.
  • 3× faster IBD (M2, shipped): nocheckpoints full-validation vs stock btcd v0.26.0 (~12 days → ~4 days to 961k) with default compression. Keep witness (--witness-buffer=0) and the same opts are ~4×.
  • Roadmap: in-process wallet + Bitcoin-Praxis Wallet GUI (M3), cross-platform async I/O (M4), DATUM / Stratum v2 mining (M5). See docs/ROADMAP.md.

The Go module path is still github.com/btcsuite/btcd for now; user-facing names are Bitcoin-Praxis / praxisd.

Requirements

Go 1.25 or newer.

Build

$ git clone https://github.com/bitcoin-praxis/bitcoin-praxis.git
$ cd bitcoin-praxis
$ go build -o praxisd .
$ go build -o praxctl ./cmd/praxctl

Or make build (emits praxisd and praxctl).

Run

$ ./praxisd

Default data directory: ~/.praxisd/ (config: ~/.praxisd/praxisd.conf).

If you previously used upstream btcd's ~/.btcd/, data is not migrated automatically — copy, symlink, or re-sync.

Useful flags:

$ ./praxisd --witness-buffer=2016   # default: hot window with full witness
$ ./praxisd --witness-buffer=0      # full archival (keep witness forever)
$ ./praxisd --prune=1536            # Core-style prune; forces witness-buffer off

Documentation

Doc Contents
docs/ROADMAP.md Milestones M1–M5
docs/M1_TEST_PLAN.md M1 test matrix + tests we ran
docs/M2_TEST_PLAN.md M2 IBD A/B vs stock (3×)
docs/configuration.md Config / listen options
docs/ Full docs hub

Tests

$ go test ./... -test.timeout=20m

See docs/M1_TEST_PLAN.md for the witness-storage matrix, fuzz targets, mainnet measurement, IBD, and LN soak notes.

Fund

  • Lightning: [email protected]
  • On-chain: bc1psksl57x4nlpn08qse899jruk7t65jgj7n72gd835urgsqyu20acsq9408c

The GitHub Sponsor button also lists these via .github/FUNDING.yml.

Upstream

Bitcoin-Praxis inherits btcd's ISC license and consensus test suite. Upstream: btcsuite/btcd.

License

Bitcoin-Praxis is licensed under the copyfree ISC License (inherited from btcd).

Popular repositories Loading

  1. bitcoin-praxis bitcoin-praxis Public

    Forked from btcsuite/btcd

    An alternative full node bitcoin implementation based on btcd with reduced block storage requirements, faster ibd, and included wallet.

    Go 1

  2. website website Public