diff --git a/.env.sample b/.env.sample index bee0f249..fe77d47a 100644 --- a/.env.sample +++ b/.env.sample @@ -65,9 +65,9 @@ JWT_SIGNING_PRIVATE_KEY={"kty":"oct","kid":"FvD__hmeKoKHu2fKjUrWbRKfhjimIM4IKshy INVOICE_HMAC_KEY=a4c1d9c81edb87b79d28809876a18cf72293eadb39f92f3f4f2f1cfbdf907c91 # lnd -# xxd -p -c0 docker/lnd/sn/macaroons/admin.macaroon +# xxd -p -c0 docker/lnd/sn/regtest/admin.macaroon LND_CERT=2d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d494943516a43434165696741774942416749516139493834682b48653350385a437541525854554d54414b42676771686b6a4f50515144416a41344d5238770a485159445651514b45785a73626d5167595856306232646c626d56795958526c5a43426a5a584a304d5255774577594456515144457778694e6a41785a5749780a4d474d354f444d774868634e4d6a51774d7a41334d5463774d6a45355768634e4d6a55774e5441794d5463774d6a4535576a41344d523877485159445651514b0a45785a73626d5167595856306232646c626d56795958526c5a43426a5a584a304d5255774577594456515144457778694e6a41785a5749784d474d354f444d770a5754415442676371686b6a4f5051494242676771686b6a4f50514d4242774e4341415365596a4b62542b4a4a4a37624b6770677a6d6c3278496130364e3174680a2f4f7033533173382b4f4a41387836647849682f326548556b4f7578675a36703549434b496f375a544c356a5963764375793941334b6e466f3448544d4948510a4d41344741315564447745422f775145417749437044415442674e56485355454444414b4267677242674546425163444154415042674e5648524d42416638450a425441444151482f4d4230474131556444675157424252545756796e653752786f747568717354727969466d6a36736c557a423542674e5648524545636a42770a676778694e6a41785a5749784d474d354f444f4343577876593246736147397a64494947633235666247356b6768526f62334e304c6d52765932746c636935700a626e526c636d356862494945645735706549494b64573570654842685932746c64494948596e566d59323975626f6345667741414159635141414141414141410a41414141414141414141414141596345724273414254414b42676771686b6a4f5051514441674e4941444246416945413873616c4a667134476671465557532f0a35347a335461746c6447736673796a4a383035425a5263334f326f434943794e6e3975716976566f5575365935345143624c3966394c575779547a516e61616e0a656977482f51696b0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a -LND_MACAROON=0201036c6e6402f801030a10206f3a63d5bf8355755851ace460077d1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620bc992b1c727644c462370b69a3dd39575666f3a7ac9ec120c97e3e7906dc4cb2 +LND_MACAROON=0201036c6e6402f801030a106cf4e146abffa5d766befbbf4c73b5a31201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e6572617465120472656164000006202c3bfd55c191e925cbffd73712c9d4b9b4a8440410bde5f8a0a6e33af8b3d876 LND_SOCKET=sn_lnd:10009 # nostr (NIP-57 zap receipts) @@ -113,8 +113,13 @@ ZMQ_TX_PORT=28335 LND_REST_PORT=8080 LND_GRPC_PORT=10009 LND_P2P_PORT=9735 +# docker exec -u lnd sn_lnd lncli newaddress p2tr --unused +LND_ADDR=bcrt1phujdlvh2ttfdxcsc2c3p3vv6g5uutua9pr846r94ae33636gxy7qkly70z # stacker lnd container stuff STACKER_LND_REST_PORT=9090 STACKER_LND_GRPC_PORT=10010 -STACKER_LND_P2P_PORT=9736 \ No newline at end of file +# docker exec -u lnd stacker_lnd lncli newaddress p2tr --unused +STACKER_LND_ADDR=bcrt1pn0ach38n7k5ejxw7e2mx02gqe237em7d9eev3dcd2yst3tlyhtdswkgd89 + +LNCLI_NETWORK=regtest \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c09a77ca..439e3013 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -181,7 +181,10 @@ services: volumes: - bitcoin:/home/bitcoin/.bitcoin sn_lnd: - image: polarlightning/lnd:0.17.4-beta + build: + context: ./docker/lnd + args: + - LN_NODE_FOR=sn container_name: sn_lnd restart: unless-stopped healthcheck: @@ -215,6 +218,9 @@ services: - '--bitcoind.rpcpass=${RPC_PASS}' - '--bitcoind.zmqpubrawblock=tcp://bitcoin:${ZMQ_BLOCK_PORT}' - '--bitcoind.zmqpubrawtx=tcp://bitcoin:${ZMQ_TX_PORT}' + - '--protocol.wumbo-channels' + - '--maxchansize=1000000000' + - '--allow-circular-route' expose: - "${LND_P2P_PORT}" ports: @@ -222,11 +228,11 @@ services: - "${LND_GRPC_PORT}:${LND_GRPC_PORT}" volumes: - sn_lnd:/home/lnd/.lnd - - ./docker/lnd/sn/macaroons/macaroons.db:/home/lnd/.lnd/data/chain/bitcoin/regtest/macaroons.db - - ./docker/lnd/sn/tls.cert:/home/lnd/.lnd/tls.cert - - ./docker/lnd/sn/tls.key:/home/lnd/.lnd/tls.key stacker_lnd: - image: polarlightning/lnd:0.17.4-beta + build: + context: ./docker/lnd + args: + - LN_NODE_FOR=stacker container_name: stacker_lnd restart: unless-stopped healthcheck: @@ -241,6 +247,8 @@ services: restart: true env_file: - .env.sndev + environment: + - LN_NODE_FOR=stacker command: - 'lnd' - '--noseedbackup' @@ -249,9 +257,9 @@ services: - '--externalip=stacker_lnd' - '--tlsextradomain=stacker_lnd' - '--tlsextradomain=host.docker.internal' - - '--listen=0.0.0.0:${STACKER_LND_P2P_PORT}' - - '--rpclisten=0.0.0.0:${STACKER_LND_GRPC_PORT}' - - '--restlisten=0.0.0.0:${STACKER_LND_REST_PORT}' + - '--listen=0.0.0.0:${LND_P2P_PORT}' + - '--rpclisten=0.0.0.0:${LND_GRPC_PORT}' + - '--restlisten=0.0.0.0:${LND_REST_PORT}' - '--bitcoin.active' - '--bitcoin.regtest' - '--bitcoin.node=bitcoind' @@ -260,15 +268,16 @@ services: - '--bitcoind.rpcpass=${RPC_PASS}' - '--bitcoind.zmqpubrawblock=tcp://bitcoin:${ZMQ_BLOCK_PORT}' - '--bitcoind.zmqpubrawtx=tcp://bitcoin:${ZMQ_TX_PORT}' + - '--protocol.wumbo-channels' + - '--maxchansize=1000000000' + - '--allow-circular-route' expose: - - "${STACKER_LND_P2P_PORT}" + - "${LND_P2P_PORT}" ports: - - "${STACKER_LND_REST_PORT}:${STACKER_LND_REST_PORT}" - - "${STACKER_LND_GRPC_PORT}:${STACKER_LND_GRPC_PORT}" + - "${STACKER_LND_REST_PORT}:${LND_REST_PORT}" + - "${STACKER_LND_GRPC_PORT}:${LND_GRPC_PORT}" volumes: - stacker_lnd:/home/lnd/.lnd - - ./docker/lnd/stacker/tls.cert:/home/lnd/.lnd/tls.cert - - ./docker/lnd/stacker/tls.key:/home/lnd/.lnd/tls.key volumes: db: os: diff --git a/docker/lnd/Dockerfile b/docker/lnd/Dockerfile new file mode 100644 index 00000000..ce228f7e --- /dev/null +++ b/docker/lnd/Dockerfile @@ -0,0 +1,6 @@ +FROM polarlightning/lnd:0.17.4-beta + +ARG LN_NODE_FOR + +COPY ["./$LN_NODE_FOR/regtest/*", "/home/lnd/.lnd/data/chain/bitcoin/regtest/"] +COPY ["./$LN_NODE_FOR/tls.*", "/home/lnd/.lnd/"] \ No newline at end of file diff --git a/docker/lnd/README.md b/docker/lnd/README.md index 412a106a..ef341061 100644 --- a/docker/lnd/README.md +++ b/docker/lnd/README.md @@ -1,3 +1,5 @@ We assume control of certs so that the app container doesn't need to inspect lnd for these things. -For the admin.macaroon, we do the same but we also need to store `macaroons.db` because it contains the master key. \ No newline at end of file +For the admin.macaroon, we do the same but we also need to store `macaroons.db` because it contains the master key. + +For the wallet addresses, we do the same but we also need to store `wallet.db` because it contains the master key. \ No newline at end of file diff --git a/docker/lnd/sn/macaroons/admin.macaroon b/docker/lnd/sn/regtest/admin.macaroon similarity index 72% rename from docker/lnd/sn/macaroons/admin.macaroon rename to docker/lnd/sn/regtest/admin.macaroon index 2aead3c7..4d604c18 100644 Binary files a/docker/lnd/sn/macaroons/admin.macaroon and b/docker/lnd/sn/regtest/admin.macaroon differ diff --git a/docker/lnd/sn/regtest/macaroons.db b/docker/lnd/sn/regtest/macaroons.db new file mode 100644 index 00000000..b8082897 Binary files /dev/null and b/docker/lnd/sn/regtest/macaroons.db differ diff --git a/docker/lnd/sn/regtest/wallet.db b/docker/lnd/sn/regtest/wallet.db new file mode 100644 index 00000000..b789a508 Binary files /dev/null and b/docker/lnd/sn/regtest/wallet.db differ diff --git a/docker/lnd/stacker/regtest/admin.macaroon b/docker/lnd/stacker/regtest/admin.macaroon new file mode 100644 index 00000000..0e920ec3 Binary files /dev/null and b/docker/lnd/stacker/regtest/admin.macaroon differ diff --git a/docker/lnd/sn/macaroons/macaroons.db b/docker/lnd/stacker/regtest/macaroons.db similarity index 97% rename from docker/lnd/sn/macaroons/macaroons.db rename to docker/lnd/stacker/regtest/macaroons.db index f58f789a..2d497870 100644 Binary files a/docker/lnd/sn/macaroons/macaroons.db and b/docker/lnd/stacker/regtest/macaroons.db differ diff --git a/docker/lnd/stacker/regtest/wallet.db b/docker/lnd/stacker/regtest/wallet.db new file mode 100644 index 00000000..94bd2f27 Binary files /dev/null and b/docker/lnd/stacker/regtest/wallet.db differ