You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
reid 3e37f1b99b corrected readme 3 years ago
index corrected readme 3 years ago
rpc switched to var and port 55555 internally 3 years ago
Dockerfile Added Urbit env var replacement 3 years ago
README.md Updated readme 3 years ago
docker-compose.yaml switched to var and port 55555 internally 3 years ago
icon.svg Added icon 3 years ago
nginx.conf fixed nginx 3 years ago

README.md

Urbit Bitcoin Connector for Umbrel

This image is a port of the self-contained %btc-provider image which acts as a backend for Urbit's Bitcoin wallet. This port is an app for Umbrel, a personal server project focused on crypto sovereignty.

Since Umbrel ships with bitcoind and electrs out of the box, the only remaining component from the original stack is a custom Express proxy that translates electrs's RPC calls from TCP to HTTP. As a result it is quite lightweight, but entirely dependent on the host's services.

The Docker Compose file is included for reference. Most importantly it imports env vars that describe the bitcoind and electrs servers to communicate with. This package does not need persistent storage.

Installation

Make a file on your umbrel called ~/umbrel/apps/urbit-bitcoin-connector/docker-compose.yml

Paste the following into it:

version: "3.7"

services:
  web:
    image: matwet/urbit-btc-node:staging
    restart: on-failure
    stop_grace_period: 1m
    ports:
      - 55555:50002
    environment:
      ELECTRUM_IP: $ELECTRUM_IP
      ELECTRUM_PORT: $ELECTRUM_PORT
      BITCOIN_IP: $BITCOIN_IP
      BITCOIN_RPC_PORT: $BITCOIN_RPC_PORT
      BITCOIN_RPC_USER: $BITCOIN_RPC_USER
      BITCOIN_RPC_PASS: $BITCOIN_RPC_PASS
      BITCOIN_RPC_AUTH: $BITCOIN_RPC_AUTH

then:

$> run ~/scripts/app install urbit-btc-node

On a fully synced Umbrel, you can connect your ship to it like this:

dojo> |rein %bitcoin [& %btc-provider]
dojo> =network %main
dojo> :btc-provider +bitcoin!btc-provider/command [%set-credentials api-url='http://addresshere:50002' network]

If it's working, you will be able to see a new block announcement in your dojo.