docker-regtest: fix loop-server config

pull/684/head
sputn1ck 4 months ago
parent bfba4e5c57
commit 809cc2e9a8
No known key found for this signature in database
GPG Key ID: 671103D881A5F0E4

@ -1,10 +1,13 @@
version: '3' version: '3'
services: services:
bitcoind: bitcoind:
image: lightninglabs/bitcoin-core image: ruimarinho/bitcoin-core:23
container_name: bitcoind
restart: unless-stopped restart: unless-stopped
networks: networks:
- regtest regtest:
aliases:
- bitcoind
command: command:
- "-txindex" - "-txindex"
- "-regtest" - "-regtest"
@ -16,43 +19,53 @@ services:
- "-rpcbind=0.0.0.0" - "-rpcbind=0.0.0.0"
# This is just the hashed string "lightning" with a salt. # This is just the hashed string "lightning" with a salt.
- "-rpcauth=lightning:8492220e715bbfdf5f165102bfd7ed4$$88090545821ed5e9db614588c0afbad575ccc14681fb77f3cae6899bc419af67" - "-rpcauth=lightning:8492220e715bbfdf5f165102bfd7ed4$$88090545821ed5e9db614588c0afbad575ccc14681fb77f3cae6899bc419af67"
- "-rpcallowip=172.0.0.0/8" - "-rpcallowip=0.0.0.0/0"
- "-rpcallowip=127.0.0.1"
- "-fallbackfee=0.0002" - "-fallbackfee=0.0002"
- "-peerblockfilters=1" - "-peerblockfilters=1"
- "-blockfilterindex=1" - "-blockfilterindex=1"
- "-wallet=/home/bitcoin/.bitcoin/regtest/wallets/miner" - "-wallet=/home/bitcoin/.bitcoin/regtest/wallets/miner"
environment: environment:
- HOME=/home/bitcoin - HOME=/home/bitcoin
volumes:
- bitcoind:/home/bitcoin/.bitcoin
lndserver: lndserver:
image: lightninglabs/lnd:v0.17.0-beta image: lightninglabs/lnd:v0.17.0-beta
container_name: lndserver
restart: unless-stopped restart: unless-stopped
networks: networks:
- regtest regtest:
aliases:
- lndserver
volumes: volumes:
- "lndserver:/root/.lnd" - "lndserver:/root/.lnd"
depends_on: depends_on:
- bitcoind - bitcoind
command: command:
- "--logdir=/root/.lnd"
- "--alias=lndserver" - "--alias=lndserver"
- "--rpclisten=0.0.0.0:10009" - "--rpclisten=0.0.0.0:10009"
- "--noseedbackup" - "--noseedbackup"
- "--bitcoin.active" - "--bitcoin.active"
- "--bitcoin.regtest" - "--bitcoin.regtest"
- "--bitcoin.node=bitcoind" - "--bitcoin.node=bitcoind"
- "--bitcoind.rpchost=regtest_bitcoind_1" - "--bitcoind.rpchost=bitcoind"
- "--bitcoind.rpcuser=lightning" - "--bitcoind.rpcuser=lightning"
- "--bitcoind.rpcpass=lightning" - "--bitcoind.rpcpass=lightning"
- "--bitcoind.zmqpubrawblock=tcp://regtest_bitcoind_1:28332" - "--bitcoind.zmqpubrawblock=tcp://bitcoind:28332"
- "--bitcoind.zmqpubrawtx=tcp://regtest_bitcoind_1:28333" - "--bitcoind.zmqpubrawtx=tcp://bitcoind:28333"
- "--tlsextradomain=regtest_lndserver_1" - "--debuglevel=debug"
- "--externalip=lndserver"
- "--tlsextradomain=lndserver"
loopserver: loopserver:
image: lightninglabs/loopserver image: lightninglabs/loopserver
container_name: loopserver
restart: unless-stopped restart: unless-stopped
networks: networks:
- regtest regtest:
aliases:
- loopserver
volumes: volumes:
- "lndserver:/root/.lnd" - "lndserver:/root/.lnd"
depends_on: depends_on:
@ -60,43 +73,55 @@ services:
command: command:
- "daemon" - "daemon"
- "--maxamt=5000000" - "--maxamt=5000000"
- "--lnd.host=regtest_lndserver_1:10009" - "--lnd.host=lndserver:10009"
- "--lnd.macaroondir=/root/.lnd/data/chain/bitcoin/regtest" - "--lnd.macaroondir=/home/loopserver/"
- "--lnd.tlspath=/root/.lnd/tls.cert" - "--lnd.tlspath=/home/loopserver/tls.cert"
- "--bitcoind.zmqpubrawblock=tcp://regtest_bitcoind_1:28332" - "--bitcoin.host=bitcoind:18443"
- "--bitcoind.zmqpubrawtx=tcp://regtest_bitcoind_1:28333" - "--bitcoin.user=lightning"
- "--bitcoin.password=lightning"
- "--bitcoin.zmqpubrawblock=tcp://bitcoind:28332"
- "--bitcoin.zmqpubrawtx=tcp://bitcoind:28333"
lndclient: lndclient:
image: lightninglabs/lnd:v0.17.0-beta image: lightninglabs/lnd:v0.17.0-beta
container_name: lndclient
restart: unless-stopped restart: unless-stopped
networks: networks:
- regtest regtest:
aliases:
- lndclient
volumes: volumes:
- "lndclient:/root/.lnd" - "lndclient:/root/.lnd"
depends_on: depends_on:
- bitcoind - bitcoind
command: command:
- "--logdir=/root/.lnd"
- "--alias=lndclient" - "--alias=lndclient"
- "--rpclisten=0.0.0.0:10009" - "--rpclisten=0.0.0.0:10009"
- "--noseedbackup" - "--noseedbackup"
- "--bitcoin.active" - "--bitcoin.active"
- "--bitcoin.regtest" - "--bitcoin.regtest"
- "--bitcoin.node=bitcoind" - "--bitcoin.node=bitcoind"
- "--bitcoind.rpchost=regtest_bitcoind_1" - "--bitcoind.rpchost=bitcoind"
- "--bitcoind.rpcuser=lightning" - "--bitcoind.rpcuser=lightning"
- "--bitcoind.rpcpass=lightning" - "--bitcoind.rpcpass=lightning"
- "--bitcoind.zmqpubrawblock=tcp://regtest_bitcoind_1:28332" - "--bitcoind.zmqpubrawblock=tcp://bitcoind:28332"
- "--bitcoind.zmqpubrawtx=tcp://regtest_bitcoind_1:28333" - "--bitcoind.zmqpubrawtx=tcp://bitcoind:28333"
- "--tlsextradomain=regtest_lndclient_1" - "--debuglevel=debug"
- "--externalip=lndclient"
- "--tlsextradomain=lndclient"
loopclient: loopclient:
image: loopd image: loopd
container_name: loopclient
build: build:
context: ../ context: ../
dockerfile: Dockerfile dockerfile: Dockerfile
restart: unless-stopped restart: unless-stopped
networks: networks:
- regtest regtest:
aliases:
- loopclient
volumes: volumes:
- "lndclient:/root/.lnd" - "lndclient:/root/.lnd"
depends_on: depends_on:
@ -105,9 +130,9 @@ services:
- "loopd" - "loopd"
- "--network=regtest" - "--network=regtest"
- "--debuglevel=debug" - "--debuglevel=debug"
- "--server.host=regtest_loopserver_1:11009" - "--server.host=loopclient:11009"
- "--server.notls" - "--server.notls"
- "--lnd.host=regtest_lndclient_1:10009" - "--lnd.host=lndclient:10009"
- "--lnd.macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon" - "--lnd.macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon"
- "--lnd.tlspath=/root/.lnd/tls.cert" - "--lnd.tlspath=/root/.lnd/tls.cert"
@ -115,5 +140,6 @@ networks:
regtest: regtest:
volumes: volumes:
bitcoind:
lndserver: lndserver:
lndclient: lndclient:

@ -4,19 +4,19 @@
COMPOSE="docker-compose -p regtest" COMPOSE="docker-compose -p regtest"
function bitcoin() { function bitcoin() {
docker exec -ti regtest_bitcoind_1 bitcoin-cli -regtest "$@" docker exec -ti bitcoind bitcoin-cli -regtest "$@"
} }
function lndserver() { function lndserver() {
docker exec -ti regtest_lndserver_1 lncli --network regtest "$@" docker exec -ti lndserver lncli --network regtest "$@"
} }
function lndclient() { function lndclient() {
docker exec -ti regtest_lndclient_1 lncli --network regtest "$@" docker exec -ti lndclient lncli --network regtest "$@"
} }
function loop() { function loop() {
docker exec -ti regtest_loopclient_1 loop --network regtest "$@" docker exec -ti loopclient loop --network regtest "$@"
} }
function start() { function start() {
@ -44,18 +44,22 @@ function mine() {
bitcoin generatetoaddress $NUMBLOCKS $(bitcoin getnewaddress "" legacy) > /dev/null bitcoin generatetoaddress $NUMBLOCKS $(bitcoin getnewaddress "" legacy) > /dev/null
} }
function setup() { function setup() {
echo "Getting pubkeys" echo "Copying loopserver files"
LNDSERVER=$(lndserver getinfo | jq .identity_pubkey -r) copy_loopserver_files
LNDCLIENT=$(lndclient getinfo | jq .identity_pubkey -r)
echo "Getting addresses"
echo "Creating wallet" echo "Creating wallet"
bitcoin createwallet miner bitcoin createwallet miner
ADDR_BTC=$(bitcoin getnewaddress "" legacy) ADDR_BTC=$(bitcoin getnewaddress "" legacy)
echo "Generating blocks to $ADDR_BTC" echo "Generating blocks to $ADDR_BTC"
bitcoin generatetoaddress 106 "$ADDR_BTC" > /dev/null bitcoin generatetoaddress 106 "$ADDR_BTC" > /dev/null
echo "Getting pubkeys"
LNDSERVER=$(lndserver getinfo | jq .identity_pubkey -r)
LNDCLIENT=$(lndclient getinfo | jq .identity_pubkey -r)
echo "Getting addresses"
echo "Sending funds" echo "Sending funds"
ADDR_SERVER=$(lndserver newaddress p2wkh | jq .address -r) ADDR_SERVER=$(lndserver newaddress p2wkh | jq .address -r)
@ -63,10 +67,14 @@ function setup() {
bitcoin sendtoaddress "$ADDR_SERVER" 5 bitcoin sendtoaddress "$ADDR_SERVER" 5
bitcoin sendtoaddress "$ADDR_CLIENT" 5 bitcoin sendtoaddress "$ADDR_CLIENT" 5
mine 6 mine 6
sleep 30
lndserver openchannel --node_key $LNDCLIENT --connect regtest_lndclient_1:9735 --local_amt 16000000 lndserver openchannel --node_key $LNDCLIENT --connect lndclient:9735 --local_amt 16000000
mine 6 mine 6
sleep 10
lndclient openchannel --node_key $LNDSERVER --local_amt 16000000 lndclient openchannel --node_key $LNDSERVER --local_amt 16000000
mine 6 mine 6
} }
@ -87,6 +95,50 @@ function info() {
echo "lnd client: $LNDCLIENT" echo "lnd client: $LNDCLIENT"
} }
function copy_loopserver_files() {
# copy cert to loopserver
docker cp lndserver:/root/.lnd/tls.cert /tmp/loopserver-tls.cert
chmod 644 /tmp/loopserver-tls.cert
docker cp -a /tmp/loopserver-tls.cert loopserver:/home/loopserver/tls.cert
#copy readonly macaroon to loopserver
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/readonly.macaroon /tmp/loopserver-read.macaroon
chmod 644 /tmp/loopserver-read.macaroon
docker cp -a /tmp/loopserver-read.macaroon loopserver:/home/loopserver/readonly.macaroon
# copy admin macaroon to loopserver
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon /tmp/loopserver-admin.macaroon
chmod 644 /tmp/loopserver-admin.macaroon
docker cp -a /tmp/loopserver-admin.macaroon loopserver:/home/loopserver/admin.macaroon
# copy invoices macaroon to loopserver
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/invoices.macaroon /tmp/loopserver-invoices.macaroon
chmod 644 /tmp/loopserver-invoices.macaroon
docker cp -a /tmp/loopserver-invoices.macaroon loopserver:/home/loopserver/invoices.macaroon
# copy chainnotifier macaroon to loopserver
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/chainnotifier.macaroon /tmp/loopserver-chainnotifier.macaroon
chmod 644 /tmp/loopserver-chainnotifier.macaroon
docker cp -a /tmp/loopserver-chainnotifier.macaroon loopserver:/home/loopserver/chainnotifier.macaroon
# copy router macaroon to loopserver
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/router.macaroon /tmp/loopserver-router.macaroon
chmod 644 /tmp/loopserver-router.macaroon
docker cp -a /tmp/loopserver-router.macaroon loopserver:/home/loopserver/router.macaroon
# copy signer macaroon to loopserver
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/signer.macaroon /tmp/loopserver-signer.macaroon
chmod 644 /tmp/loopserver-signer.macaroon
docker cp -a /tmp/loopserver-signer.macaroon loopserver:/home/loopserver/signer.macaroon
# copy walletkit macaroon to loopserver
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/walletkit.macaroon /tmp/loopserver-walletkit.macaroon
chmod 644 /tmp/loopserver-walletkit.macaroon
docker cp -a /tmp/loopserver-walletkit.macaroon loopserver:/home/loopserver/walletkit.macaroon
}
if [[ $# -lt 1 ]]; then if [[ $# -lt 1 ]]; then
echo "Usage: $0 start|stop|restart|info|loop" echo "Usage: $0 start|stop|restart|info|loop"
fi fi

Loading…
Cancel
Save