Skip to content

FreeOnlineUser/pocket-node-relay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pocket Node Relay

Headless chainstate relay server for Bitcoin Pocket Node.

Serves validated Bitcoin chainstate over Tor so Pocket Node phones can bootstrap a full node without trusting a third party. Speaks the same HTTP protocol as the phone-to-phone sharing feature.

What It Does

  • Runs a pruned bitcoind and keeps chainstate current
  • Serves chainstate snapshots via the same HTTP API the app uses for phone-to-phone sharing
  • Exposes the server as a Tor hidden service (.onion address)
  • Pocket Node's existing ShareClient connects without modification

Endpoints (same as phone ShareServer)

Endpoint Description
GET / Landing page (browser-friendly)
GET /info Node info: height, version, filters
GET /manifest File list with sizes for download planning
GET /file/{path} Individual file download
GET /peer-limits Learned channel opening minimums

Requirements

  • Linux (Debian 12 recommended)
  • Python 3.10+
  • Bitcoin Core (bitcoind)
  • Tor

Quick Start

# Clone
git clone https://github.com/FreeOnlineUser/pocket-node-relay.git
cd pocket-node-relay

# Install
chmod +x install.sh
sudo ./install.sh

# Configure
cp config.example.yaml config.yaml
nano config.yaml  # Set your bitcoind path

# Run
python3 relay.py

Architecture

Phone (Arti client) --> .onion --> Tor --> localhost:8432 --> relay.py --> bitcoind data

The relay is the server-side equivalent of the phone's ShareServer.kt. Phones connect using their existing ShareClient over Tor, same as they would to another phone on LAN, but routed through onion services.

License

MIT

About

Headless Bitcoin chainstate relay server for Pocket Node (Tor hidden service)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors