• v0.1.6 af258c791a

    agorise released this 2026-08-18 20:16:21 +00:00 | 4 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    hidden-rpc v0.1.6

    Adds a trustless blockchain bootstrap: new nodes now load the chain from a signed on-chain
    pointer
    instead of a hardcoded URL, verify it, and let the node re-check every block. Existing
    synced nodes are unaffected (they skip bootstrap entirely).

    hidden-rpc turns an ordinary computer — an old laptop is plenty — into a
    censorship-resistant Blurt RPC node, reachable privately over Tor (.onion v3) and
    I2P (.b32.i2p).

    What's new in v0.1.6

    • Trustless bootstrap (new default). A fresh node reads the latest chain_snapshot_v1 pointer
      from @morphit on-chain, cross-checked across at least two public RPCs (highest height wins; a
      same-height checksum conflict stops the install rather than guessing). It downloads the block_log
      from IPFS (with an https mirror fallback), verifies its SHA-256 before using it, then lets the
      node replay and re-verify every block. Nothing about the download host has to be trusted.
    • Fast path is now an explicit, honest opt-in. The old presynced-state setup (minutes, but you
      trust whoever built the state) is still available as --trusted-state. It is never advertised
      on-chain. Trustless is the default; trusted is a conscious choice.
    • --check-snapshot. Inspect the current signed on-chain pointer (height, size, CID, checksum,
      mirror) without downloading anything.
    • Up-front network disclosure. Setup now states plainly that a serving node keeps a normal
      clearnet connection on p2p port 1776 (its IP is visible to peers) and that only the RPC reads are
      hidden — so anyone on a sensitive network chooses consciously.
    • Verified pointer validation. The on-chain pointer validator mirrors Morphit's schema exactly
      and ships with unit tests (installer/snap_core_test.py).

    Note: replaying the full block_log is a one-time job that runs unattended for several hours the
    first time — that's the cost of trustlessness. Watch it with --watch.

    Requirements & commands

    bash installer/hidden-rpc-setup.sh                  # trustless setup (default)
    bash installer/hidden-rpc-setup.sh --trusted-state  # fast presynced-state setup (you trust the publisher)
    bash installer/hidden-rpc-setup.sh --check-snapshot  # show the signed on-chain pointer
    bash installer/hidden-rpc-setup.sh --status          # running? how far behind? addresses
    bash installer/hidden-rpc-setup.sh --watch           # calm, live progress
    bash installer/hidden-rpc-setup.sh --cleanup         # reclaim disk space (safe)
    

    64-bit Linux (Debian/Ubuntu/Mint), amd64. Docker, Tor, and i2pd install automatically if missing.

    Important

    Tor and I2P hide where you read, not whether what you read is true. Reaching a node does not
    make its data trustworthy — cross-checking across independent nodes is the reader's job. RPC-only
    (no witness / block production).

    Downloads