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

@ -4,19 +4,19 @@
COMPOSE="docker-compose -p regtest"
function bitcoin() {
docker exec -ti regtest_bitcoind_1 bitcoin-cli -regtest "$@"
docker exec -ti bitcoind bitcoin-cli -regtest "$@"
}
function lndserver() {
docker exec -ti regtest_lndserver_1 lncli --network regtest "$@"
docker exec -ti lndserver lncli --network regtest "$@"
}
function lndclient() {
docker exec -ti regtest_lndclient_1 lncli --network regtest "$@"
docker exec -ti lndclient lncli --network regtest "$@"
}
function loop() {
docker exec -ti regtest_loopclient_1 loop --network regtest "$@"
docker exec -ti loopclient loop --network regtest "$@"
}
function start() {
@ -44,18 +44,22 @@ function mine() {
bitcoin generatetoaddress $NUMBLOCKS $(bitcoin getnewaddress "" legacy) > /dev/null
}
function setup() {
echo "Getting pubkeys"
LNDSERVER=$(lndserver getinfo | jq .identity_pubkey -r)
LNDCLIENT=$(lndclient getinfo | jq .identity_pubkey -r)
echo "Getting addresses"
function setup() {
echo "Copying loopserver files"
copy_loopserver_files
echo "Creating wallet"
bitcoin createwallet miner
ADDR_BTC=$(bitcoin getnewaddress "" legacy)
echo "Generating blocks to $ADDR_BTC"
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"
ADDR_SERVER=$(lndserver newaddress p2wkh | jq .address -r)
@ -63,10 +67,14 @@ function setup() {
bitcoin sendtoaddress "$ADDR_SERVER" 5
bitcoin sendtoaddress "$ADDR_CLIENT" 5
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
sleep 10
lndclient openchannel --node_key $LNDSERVER --local_amt 16000000
mine 6
}
@ -87,6 +95,50 @@ function info() {
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
echo "Usage: $0 start|stop|restart|info|loop"
fi

Loading…
Cancel
Save