Browse Source
Add urbit-bitcoin-connector app (#1243 )
Co-authored-by: reid <r.scoggin@gmail.com>
Co-authored-by: Luke Childs <lukechilds123@gmail.com>
0.4.14
reid
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with
62 additions and
1 deletions
apps/registry.json
apps/urbit-bitcoin-connector/docker-compose.yml
scripts/configure
templates/.env-sample
templates/torrc-server-sample
@ -918,5 +918,30 @@
"path" : "" ,
"deterministicPassword" : false ,
"torOnly" : false
} ,
{
"id" : "urbit-bitcoin-connector" ,
"category" : "Wallet Servers" ,
"name" : "Urbit Bitcoin Connector" ,
"version" : "0.1.0" ,
"tagline" : "Connect your Urbit's Bitcoin wallet to your Bitcoin node" ,
"description" : "Urbit has a native Bitcoin wallet that you can connect to a full node via an intermediary, called a provider. Providers run a piece of backend software called %btc-provider that communicates with a full node with bitcoind and electrs, as well as a custome Node Express proxy to translate RPC calls between TCP and HTTP. This app will install the Express proxy and configure it to point at your Umbrel's Bitcoin full node. Using this, you can configure a Bitcoin provider on a ship (even one running on your Umbrel) and configure it, or other ships to point their wallets at it.\n\nThis app also provides an information GUI web page, with instructions on connecting your provider ship and Bitcoin wallet. The web UI is accessible at port 9090. Note that if your Urbit is running on your Umbrel, you must configure your provider to point at the Umbrel's local/private IP address (like http://192.168.0.10:55555).\n\nCredit to ~timluc-miptev & ~master-forwex" ,
"developer" : "~sitful-hatred & ~mopfel-winrux" ,
"website" : "https://subject.network" ,
"dependencies" : [
"bitcoind" ,
"electrum"
] ,
"repo" : "https://github.com/yapishu/urbit-bitcoin-node" ,
"support" : "https://github.com/yapishu/urbit-bitcoin-node" ,
"port" : 9090 ,
"gallery" : [
"1.jpg" ,
"2.jpg" ,
"3.jpg"
] ,
"path" : "" ,
"deterministicPassword" : false ,
"torOnly" : false
}
]
@ -0,0 +1,23 @@
version : "3.7"
services:
web:
image : matwet/urbit-btc-node:latest@sha256:930a1752684277f743d2b48a59b4b977da96423d49ed4b5076c14cd81fa5e286
init : true
restart : on -failure
stop_grace_period : 1m
ports:
- ${APP_URBIT_BITCOIN_CONNECTOR_PORT}:${APP_URBIT_BITCOIN_CONNECTOR_PORT}
- ${APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT}:${APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT}
environment:
INTERNAL_IP : $APP_URBIT_BITCOIN_CONNECTOR_IP
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
networks:
default:
ipv4_address : $APP_URBIT_BITCOIN_CONNECTOR_IP
@ -244,6 +244,9 @@ APP_USOCIAL_PORT="8448"
APP_USOCIAL_FETCHER_IP="10.21.21.78"
APP_TAILSCALE_IP="10.21.21.80"
APP_TAILSCALE_PORT="2100"
APP_URBIT_BITCOIN_CONNECTOR_IP="10.21.21.81"
APP_URBIT_BITCOIN_CONNECTOR_PORT="9090"
APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT="55555"
# Generate RPC credentials
if [[ -z ${BITCOIN_RPC_USER+x} ]] || [[ -z ${BITCOIN_RPC_PASS+x} ]] || [[ -z ${BITCOIN_RPC_AUTH+x} ]]; then
@ -488,6 +491,9 @@ for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" "
sed -i "s/<app-usocial-fetcher-ip>/${APP_USOCIAL_FETCHER_IP}/g" "${template}"
sed -i "s/<app-tailscale-ip>/${APP_TAILSCALE_IP}/g" "${template}"
sed -i "s/<app-tailscale-port>/${APP_TAILSCALE_PORT}/g" "${template}"
sed -i "s/<app-urbit-bitcoin-connector-ip>/${APP_URBIT_BITCOIN_CONNECTOR_IP}/g" "${template}"
sed -i "s/<app-urbit-bitcoin-connector-port>/${APP_URBIT_BITCOIN_CONNECTOR_PORT}/g" "${template}"
sed -i "s/<app-urbit-bitcoin-connector-server-port>/${APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT}/g" "${template}"
done
##########################################################
@ -141,4 +141,7 @@ APP_USOCIAL_IP=<app-usocial-ip>
APP_USOCIAL_PORT=<app-usocial-port>
APP_USOCIAL_FETCHER_IP=<app-usocial-fetcher-ip>
APP_TAILSCALE_IP=<app-tailscale-ip>
APP_TAILSCALE_PORT=<app-tailscale-port>
APP_TAILSCALE_PORT=<app-tailscale-port>
APP_URBIT_BITCOIN_CONNECTOR_IP=<app-urbit-bitcoin-connector-ip>
APP_URBIT_BITCOIN_CONNECTOR_PORT=<app-urbit-bitcoin-connector-port>
APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT=<app-urbit-bitcoin-connector-server-port>
@ -209,3 +209,7 @@ HiddenServicePort 80 <app-usocial-ip>:5000
# tailscale Hidden Service
HiddenServiceDir /data/app-tailscale
HiddenServicePort 80 <app-tailscale-ip>:<app-tailscale-port>
# urbit-bitcoin-connector Hidden Service
HiddenServiceDir /data/app-urbit-bitcoin-connector
HiddenServicePort 80 <app-urbit-bitcoin-connector-ip>:<app-urbit-bitcoin-connector-port>