From 842441c616e85a2f703fa113f3daebe41bbd4519 Mon Sep 17 00:00:00 2001 From: yzernik Date: Sat, 2 Oct 2021 23:51:23 -0700 Subject: [PATCH] Add new docker-compose using btcd --- docker/config.ini | 15 +++- docker/docker-compose.btcd.yml | 127 ++++++++++++++++++++++++++++ docker/docker-compose.override.yml | 8 -- docker/docker-compose.yml | 17 ++-- docker/lnd/start-lnd.sh | 33 +++----- frontend/src/pages/wallet/Wallet.js | 6 ++ itests/docker-compose.yml | 2 - 7 files changed, 166 insertions(+), 42 deletions(-) create mode 100644 docker/docker-compose.btcd.yml diff --git a/docker/config.ini b/docker/config.ini index be6642d5..1ca24c2c 100644 --- a/docker/config.ini +++ b/docker/config.ini @@ -1,17 +1,26 @@ [node] network=testnet +price_msat=100000 +max_squeaks_per_address_per_block=100 [lnd] host=lnd +external_host=lnd_for_container tls_cert_path=~/.lnd/tls.cert macaroon_path=~/.lnd/data/chain/bitcoin/testnet/admin.macaroon [bitcoin] -rpc_host=bitcoin-core -rpc_port=18332 +rpc_host=btcd +rpc_port=18334 rpc_user=devuser rpc_pass=devpass -zeromq_hashblock_port=28334 +rpc_use_ssl=true +rpc_ssl_cert=/rpc/rpc.cert + +[postgresql] +host=db +user=postgres +password=postgres [webadmin] enabled=true diff --git a/docker/docker-compose.btcd.yml b/docker/docker-compose.btcd.yml new file mode 100644 index 00000000..4962a317 --- /dev/null +++ b/docker/docker-compose.btcd.yml @@ -0,0 +1,127 @@ +version: '3' +services: + + btcd: + image: btcd + container_name: btcd + build: + context: ../ + dockerfile: docker/btcd/Dockerfile + volumes: + - shared_data:/rpc + - ~/.btcd:/data + environment: + - NETWORK=testnet + - MINING_ADDRESS + ports: + - 18556:18556 + entrypoint: ["./start-btcd.sh"] + + btcctl: + image: btcd + container_name: btcctl + build: + context: ../ + dockerfile: docker/btcd/Dockerfile + volumes: + - shared_data:/rpc + - ~/.btcd:/data + environment: + - NETWORK=testnet + - RPCHOST=btcd + - MINING_ADDRESS + links: + - "btcd:btcd" + entrypoint: ["./start-btcctl.sh"] + + lnd_client: + image: lnd + container_name: lnd_client + build: + context: ../ + dockerfile: docker/lnd/Dockerfile + environment: + - NETWORK=testnet + - RPCHOST=btcd + volumes: + - shared_data:/rpc + - lnd_client_dir:/root/.lnd + links: + - "btcd:btcd" + sysctls: + - net.ipv6.conf.all.disable_ipv6=0 + entrypoint: ["./start-lnd.sh"] + + lnd_server: + image: lnd + container_name: lnd_server + build: + context: ../ + dockerfile: docker/lnd/Dockerfile + environment: + - NETWORK=testnet + - RPCHOST=btcd + volumes: + - shared_data:/rpc + - lnd_server_dir:/root/.lnd + links: + - "btcd:blockchain" + sysctls: + - net.ipv6.conf.all.disable_ipv6=0 + entrypoint: ["./start-lnd.sh"] + + squeaknode: + image: squeaknode + container_name: squeaknode + build: + context: ../ + dockerfile: Dockerfile + depends_on: + - "lnd_server" + volumes: + - shared_data:/rpc + - lnd_server_dir:/root/.lnd + - ./config.ini:/config.ini + ports: + - 12995:12994 + links: + - "btcd:btcd" + - "lnd_server:lnd" + sysctls: + - net.ipv6.conf.all.disable_ipv6=0 + entrypoint: ["./start-squeaknode.sh"] + + squeaknode_other: + image: squeaknode + container_name: squeaknode_other + build: + context: ../ + dockerfile: Dockerfile + volumes: + - shared_data:/rpc + - lnd_client_dir:/root/.lnd + - ./config.ini:/config.ini + ports: + - 12996:12994 + links: + - "btcd:btcd" + - "lnd_client:lnd" + sysctls: + - net.ipv6.conf.all.disable_ipv6=0 + entrypoint: ["./start-squeaknode.sh"] + +volumes: + # btcctl and lnd containers. + shared_data: + driver: local + + # # bitcoin_data volume is needed for maintaining blockchain persistence + # # during btcd container recreation. + # bitcoin_data: + # driver: local + + # lnd_dir volume is needed for sharing tht tls certificate + lnd_client_dir: + driver: local + lnd_server_dir: + driver: local diff --git a/docker/docker-compose.override.yml b/docker/docker-compose.override.yml index 9ff585a0..45560acb 100644 --- a/docker/docker-compose.override.yml +++ b/docker/docker-compose.override.yml @@ -15,14 +15,6 @@ services: -zmqpubhashblock=tcp://0.0.0.0:28334 -zmqpubhashtx=tcp://0.0.0.0:28334 - lnd: - environment: - - NETWORK=testnet - - lnd_other: - environment: - - NETWORK=testnet - # squeaknode: # environment: # - NETWORK=testnet diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index c62e939d..fc71f984 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -11,9 +11,9 @@ services: - 18332:18332 - 28334:28334 - lnd: + lnd_for_host: image: lnd - container_name: lnd + container_name: lnd_for_host build: context: ../ dockerfile: docker/lnd/Dockerfile @@ -31,8 +31,9 @@ services: - net.ipv6.conf.all.disable_ipv6=0 entrypoint: ["./start-lnd.sh"] - lnd_other: + lnd_for_container: image: lnd + container_name: lnd_for_container build: context: ../ dockerfile: docker/lnd/Dockerfile @@ -40,7 +41,9 @@ services: - RPCHOST=bitcoin-core - BACKEND=bitcoind volumes: - - lnd_other_dir:/root/.lnd + - lnd_for_container_dir:/root/.lnd + ports: + - 9736:9735 links: - "bitcoin-core:bitcoin-core" sysctls: @@ -58,7 +61,7 @@ services: context: ../ dockerfile: Dockerfile volumes: - - lnd_other_dir:/root/.lnd + - lnd_for_container_dir:/root/.lnd - ./config.ini:/config.ini ports: - 12995:12994 @@ -66,14 +69,14 @@ services: - 18557:18555 links: - "bitcoin-core:bitcoin-core" - - "lnd_other:lnd" + - "lnd_for_container:lnd" sysctls: - net.ipv6.conf.all.disable_ipv6=0 entrypoint: ["./start-squeaknode.sh"] volumes: # lnd_dir volume is needed for sharing the tls certificate - lnd_other_dir: + lnd_for_container_dir: driver: local # # postgres db data diff --git a/docker/lnd/start-lnd.sh b/docker/lnd/start-lnd.sh index 922361de..ec183e18 100644 --- a/docker/lnd/start-lnd.sh +++ b/docker/lnd/start-lnd.sh @@ -47,18 +47,7 @@ NETWORK=$(set_default "$NETWORK" "testnet") CHAIN=$(set_default "$CHAIN" "bitcoin") BACKEND=$(set_default "$BACKEND" "btcd") -if [[ "$BACKEND" == "neutrino" ]]; then - exec lnd \ - --noseedbackup \ - --logdir="/data" \ - "--$CHAIN.active" \ - "--$CHAIN.$NETWORK" \ - "--$CHAIN.node"="$BACKEND" \ - --rpclisten=0.0.0.0:10009 \ - --debuglevel="$DEBUG" \ - --tlsextradomain=lnd \ - "$@" -elif [[ "$BACKEND" == "bitcoind" ]]; then +if [[ "$BACKEND" == "bitcoind" ]]; then cmd="lnd \ --noseedbackup \ --logdir=/data \ @@ -81,16 +70,16 @@ elif [[ "$BACKEND" == "bitcoind" ]]; then else exec lnd \ --noseedbackup \ - --logdir="/data" \ - "--$CHAIN.active" \ - "--$CHAIN.$NETWORK" \ - "--$CHAIN.node"="$BACKEND" \ - "--$BACKEND.rpccert"="/rpc/rpc.cert" \ - "--$BACKEND.rpchost"="$RPCHOST" \ - "--$BACKEND.rpcuser"="$RPCUSER" \ - "--$BACKEND.rpcpass"="$RPCPASS" \ + --logdir=/data \ + --$CHAIN.active \ + --$CHAIN.$NETWORK \ + --$CHAIN.node=$BACKEND \ + --$BACKEND.rpccert=/rpc/rpc.cert \ + --$BACKEND.rpchost=$RPCHOST \ + --$BACKEND.rpcuser=$RPCUSER \ + --$BACKEND.rpcpass=$RPCPASS \ --rpclisten=0.0.0.0:10009 \ - --debuglevel="$DEBUG" \ + --debuglevel=$DEBUG \ --tlsextradomain=lnd \ - "$@" + $@ fi diff --git a/frontend/src/pages/wallet/Wallet.js b/frontend/src/pages/wallet/Wallet.js index 2ad2055c..b34c3333 100644 --- a/frontend/src/pages/wallet/Wallet.js +++ b/frontend/src/pages/wallet/Wallet.js @@ -252,6 +252,12 @@ export default function WalletPage() { {lndInfo.getIdentityPubkey()} + + + Node urls + + {lndInfo.getUrisList()} + Synced to Chain diff --git a/itests/docker-compose.yml b/itests/docker-compose.yml index 9f10b6a9..1129bcc4 100644 --- a/itests/docker-compose.yml +++ b/itests/docker-compose.yml @@ -13,8 +13,6 @@ services: environment: - NETWORK=simnet - MINING_ADDRESS - ports: - - 18556:18556 entrypoint: ["./start-btcd.sh"] btcctl: