From f6f410cfe4f3fdd12a9f8de060ee5159b6a16295 Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Thu, 27 Jun 2024 10:35:51 -0400 Subject: [PATCH 1/9] add a network with two litd in integrated mode. NOTE: for testnet/mainnet do not disable the autopilot. --- regtest/docker-compose.yml | 4 +- regtest/litd/docker-compose.yaml | 150 +++++++++++++++++++++++++++++++ testnet/docker-compose.yml | 20 ++--- 3 files changed, 162 insertions(+), 12 deletions(-) create mode 100644 regtest/litd/docker-compose.yaml diff --git a/regtest/docker-compose.yml b/regtest/docker-compose.yml index 775f5fa..93d35e6 100644 --- a/regtest/docker-compose.yml +++ b/regtest/docker-compose.yml @@ -44,7 +44,7 @@ services: USERID: ${USERID:-1000} GROUPID: ${GROUPID:-1000} stop_grace_period: 2m - image: lightninglabs/lnd:v0.17.4-beta + image: lightninglabs/lnd:v0.18.0-beta container_name: regtest-alice-lnd hostname: regtest-alice-lnd command: >- @@ -80,7 +80,7 @@ services: USERID: ${USERID:-1000} GROUPID: ${GROUPID:-1000} stop_grace_period: 2m - image: lightninglabs/lnd:v0.17.4-beta + image: lightninglabs/lnd:v0.18.0-beta container_name: regtest-bob-lnd hostname: regtest-bob-lnd command: >- diff --git a/regtest/litd/docker-compose.yaml b/regtest/litd/docker-compose.yaml new file mode 100644 index 0000000..083b09c --- /dev/null +++ b/regtest/litd/docker-compose.yaml @@ -0,0 +1,150 @@ +version: '3.3' +name: regtest-litd-service-on-network + +volumes: + bitcoind: + lnfi: + user: + +networks: + bitcoin: + name: bitcoin + +services: + backend: + networks: + - bitcoin + stop_grace_period: 5m + image: lightninglabs/bitcoin-core:25 + container_name: bitcoind-backend + hostname: backend + command: >- + /home/bitcoin/start.sh + volumes: + - ../volumes/bitcoind:/root/.bitcoin + - ../config/start.sh:/home/bitcoin/start.sh # NOTE I've tried using the volume name here and it doesn't work. this does still - although I don't know why + - ../config/setup.sh:/home/bitcoin/setup.sh # NOTE I've tried using the volume name here and it doesn't work. this does still - although I don't know why + - ../config/mining.sh:/home/bitcoin/mining.sh # NOTE I've tried using the volume name here and it doesn't work. this does still - although I don't know why + expose: + - '8332' + - '18443' + - '18444' + - '28334' + - '28335' + ports: + - '8332:8332' + - '18443:18443' + - '19444:18444' + - '28334:28334' + - '29335:28335' + lnfi: + networks: + - bitcoin + environment: + USERID: ${USERID:-1000} + GROUPID: ${GROUPID:-1000} + stop_grace_period: 2m + image: lightninglabs/lightning-terminal:v0.14.0-alpha.rc1 + container_name: lnfi-litd + hostname: lnfi-litd + command: >- + litd + --autopilot.disable + --uipassword=howdoidisablethis + --network=regtest + --lnd-mode=integrated + --taproot-assets-mode=integrated + --faraday-mode=disable + --loop-mode=disable + --pool-mode=disable + --lnd.lnddir=/root/.litd/lnd + --lnd.alias=user + --lnd.tlsextradomain=user-litd + --lnd.tlsextraip=127.0.0.1:9735 + --lnd.listen=0.0.0.0:9735 + --lnd.rpclisten=0.0.0.0:10009 + --lnd.restlisten=0.0.0.0:8080 + --lnd.bitcoin.active + --lnd.bitcoin.node=bitcoind + --lnd.bitcoind.rpchost=bitcoind-backend + --lnd.bitcoind.rpcuser=polaruser + --lnd.bitcoind.rpcpass=polarpass + --lnd.bitcoind.zmqpubrawblock=tcp://bitcoind-backend:28334 + --lnd.bitcoind.zmqpubrawtx=tcp://bitcoind-backend:28335 + --taproot-assets.debuglevel=debug + --taproot-assets.rpclisten=0.0.0.0:10029 + --taproot-assets.restlisten=0.0.0.0:8089 + --taproot-assets.universe.public-access=true + --taproot-assets.allow-public-uni-proof-courier + --taproot-assets.allow-public-stats + restart: always + volumes: + - ../volumes/lnfi:/root/.litd + expose: + - '10009' + - '8080' + - '9735' + - '10029' + - '8089' + ports: + - '10009:10009' + - '8080:8080' + - '9735:9735' + - '10029:10029' + - '8089:8089' + user: + networks: + - bitcoin + environment: + USERID: ${USERID:-1000} + GROUPID: ${GROUPID:-1000} + stop_grace_period: 2m + image: lightninglabs/lightning-terminal:v0.14.0-alpha.rc1 + container_name: user-litd + hostname: user-litd + command: >- + litd + --autopilot.disable + --uipassword=howdoidisablethis + --network=regtest + --lnd-mode=integrated + --taproot-assets-mode=integrated + --faraday-mode=disable + --loop-mode=disable + --pool-mode=disable + --lnd.lnddir=/root/.litd/lnd + --lnd.alias=user + --lnd.tlsextradomain=user-litd + --lnd.tlsextraip=127.0.0.1:9736 + --lnd.listen=0.0.0.0:9736 + --lnd.rpclisten=0.0.0.0:10010 + --lnd.restlisten=0.0.0.0:8081 + --lnd.bitcoin.active + --lnd.bitcoin.node=bitcoind + --lnd.bitcoind.rpchost=bitcoind-backend + --lnd.bitcoind.rpcuser=polaruser + --lnd.bitcoind.rpcpass=polarpass + --lnd.bitcoind.zmqpubrawblock=tcp://bitcoind-backend:28334 + --lnd.bitcoind.zmqpubrawtx=tcp://bitcoind-backend:28335 + --taproot-assets.debuglevel=debug + --taproot-assets.rpclisten=0.0.0.0:10030 + --taproot-assets.restlisten=0.0.0.0:8090 + --taproot-assets.universe.public-access=true + --taproot-assets.allow-public-uni-proof-courier + --taproot-assets.allow-public-stats + + restart: always + volumes: + - ../volumes/user:/root/.litd + expose: + - '10010' + - '8081' + - '9736' + - '10030' + - '8090' + ports: + - '10010:10010' + - '8081:8081' + - '9736:9736' + - '10030:10030' + - '8090:8090' diff --git a/testnet/docker-compose.yml b/testnet/docker-compose.yml index 9350fd5..08bbf26 100644 --- a/testnet/docker-compose.yml +++ b/testnet/docker-compose.yml @@ -23,11 +23,11 @@ services: --bitcoin.active --bitcoin.testnet --bitcoin.node=bitcoind - --bitcoind.rpchost=${bitcoind_rpchost} - --bitcoind.rpcuser=${bitcoind_rpcuser} - --bitcoind.rpcpass=${bitcoind_rpcpass} - --bitcoind.zmqpubrawblock=${bitcoind_zmqpubrawblock} - --bitcoind.zmqpubrawtx=${bitcoind_zmqpubrawtx} + --bitcoind.rpchost=165.22.58.11:18332 + --bitcoind.rpcuser=tahub-dev-testnet + --bitcoind.rpcpass=akPOpwZ7F2 + --bitcoind.zmqpubrawblock=tcp://165.22.58.11:28332 + --bitcoind.zmqpubrawtx=tcp://165.22.58.11:28333 --db.backend=postgres --db.postgres.dsn=postgres://postgres:postgrespwd@postgres-db:5432/alice_lnd @@ -115,11 +115,11 @@ services: --bitcoin.active --bitcoin.testnet --bitcoin.node=bitcoind - --bitcoind.rpchost=${bitcoind_rpchost} - --bitcoind.rpcuser=${bitcoind_rpcuser} - --bitcoind.rpcpass=${bitcoind_rpcpass} - --bitcoind.zmqpubrawblock=${bitcoind_zmqpubrawblock} - --bitcoind.zmqpubrawtx=${bitcoind_zmqpubrawtx} + --bitcoind.rpchost=165.22.58.11:18332 + --bitcoind.rpcuser=tahub-dev-testnet + --bitcoind.rpcpass=akPOpwZ7F2 + --bitcoind.zmqpubrawblock=tcp://165.22.58.11:28332 + --bitcoind.zmqpubrawtx=tcp://165.22.58.11:28333 --db.backend=postgres --db.postgres.dsn=postgres://postgres:postgrespwd@postgres-db:5432/bob_lnd From f559d6ad8d9f2c11c491f03b1c3b4a6d8f3776ea Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Thu, 27 Jun 2024 10:40:12 -0400 Subject: [PATCH 2/9] regtest docker network with two litd instances --- regtest/litd/docker-compose.yaml | 2 ++ regtest/litd/setupMac.sh | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 regtest/litd/setupMac.sh diff --git a/regtest/litd/docker-compose.yaml b/regtest/litd/docker-compose.yaml index 083b09c..8e9712f 100644 --- a/regtest/litd/docker-compose.yaml +++ b/regtest/litd/docker-compose.yaml @@ -57,6 +57,7 @@ services: --faraday-mode=disable --loop-mode=disable --pool-mode=disable + --lnd.noseedbackup --lnd.lnddir=/root/.litd/lnd --lnd.alias=user --lnd.tlsextradomain=user-litd @@ -112,6 +113,7 @@ services: --faraday-mode=disable --loop-mode=disable --pool-mode=disable + --lnd.noseedbackup --lnd.lnddir=/root/.litd/lnd --lnd.alias=user --lnd.tlsextradomain=user-litd diff --git a/regtest/litd/setupMac.sh b/regtest/litd/setupMac.sh new file mode 100644 index 0000000..c768df9 --- /dev/null +++ b/regtest/litd/setupMac.sh @@ -0,0 +1,17 @@ +# Generate init blocks and create wallet +echo "========= Create or Read Wallet and Mine 120 Blocks ==========" +# note probably any easier way to check if wallet exists +existing_wallet=$(sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpassword=polarpass -rpcuser=polaruser -rpcwallet=miningwallet getwalletinfo | jq -r '.walletname') + +if [[ "$existing_wallet" == "miningwallet" ]]; then + echo "mining wallet found" +else + echo "mining wallet not found, creating new wallet" + sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpassword=polarpass -rpcuser=polaruser createwallet "miningwallet" false false "" false true true +fi + +sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcwallet=miningwallet -rpcpassword=polarpass -rpcuser=polaruser -generate 120 +echo "======== finish generate blocks ========" +sleep 5 + +# setup service From f26542fb860a21e870a854fc3ac063679460eef6 Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Thu, 27 Jun 2024 10:53:12 -0400 Subject: [PATCH 3/9] WIP: setup script with litd's --- regtest/litd/setupMac.sh | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) mode change 100644 => 100755 regtest/litd/setupMac.sh diff --git a/regtest/litd/setupMac.sh b/regtest/litd/setupMac.sh old mode 100644 new mode 100755 index c768df9..c9d98e3 --- a/regtest/litd/setupMac.sh +++ b/regtest/litd/setupMac.sh @@ -15,3 +15,52 @@ echo "======== finish generate blocks ========" sleep 5 # setup service +lnfi=`sudo docker exec -it lnfi-litd lncli --network=regtest newaddress p2tr` +lnfi=$(echo $lnfi | awk -F'"' '{print $4}') +echo "lnfi address => $lnfi" + +sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpassword=polarpass -rpcuser=polaruser -rpcwallet=miningwallet sendtoaddress $lnfi 200 +sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpassword=polarpass -rpcuser=polaruser -rpcwallet=miningwallet -generate 6 + +# setup user +user=`sudo docker exec -it user-litd lncli --network=regtest --rpcserver=localhost:10010 newaddress p2tr` +user=$(echo $user | awk -F'"' '{print $4}') +echo "bob address => $user" + +sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpassword=polarpass -rpcuser=polaruser -rpcwallet=miningwallet sendtoaddress $user 200 +sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpassword=polarpass -rpcuser=polaruser -rpcwallet=miningwallet -generate 6 + +sleep 5 + +echo "generate 10 more blocks" +sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcwallet=miningwallet -rpcpassword=polarpass -rpcuser=polaruser -generate 10 +echo "======== finish generate init blocks ========" +sleep 5 + +if [[ "$existing_wallet" == "miningwallet" ]]; then + echo "======= lookup group key for lnfi ========" + group_key_lnfi=$(docker exec -it lnfi-litd tapcli -n regtest assets groups | jq '.groups | map_values(select(.assets[] | .tag == "lnfi")) | keys[0]') + echo $group_key_lnfi + echo "======= lookup group key for usercoin ========" + group_key_user=$(docker exec -it user-litd tapcli -n regtest --rpcserver=localhost:10030 assets groups | jq '.groups | map_values(select(.assets[] | .tag == "usercoin")) | keys[0]') + echo $group_key_user +else + echo "mining wallet not found, creating new wallet" + echo "======== lnfi mints assets =========" + sudo docker exec -it lnfi-litd tapcli --network=regtest assets mint --type normal --name lnfi --supply 1000000 --new_grouped_asset + sudo docker exec -it lnfi-litd tapcli --network=regtest assets mint finalize + echo "======== lnfi asset mint finalized =========" + echo "generate 10 more blocks" + sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcwallet=miningwallet -rpcpassword=polarpass -rpcuser=polaruser -generate 10 + echo "======== finish generate init blocks ========" + sleep 3 + + echo "======== syncing user to lnfi universe =========" + sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest universe federation add --universe_host=lnfi-litd:10029 + sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest universe federation config global --proof_type issuance --allow_insert true + sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest universe federation config global --proof_type transfer --allow_insert true + + sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest universe sync --universe_host=lnfi-litd:10029 +fi + + From e0924b1db14f566483ddee68050b5ca2e6f48e0a Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Thu, 27 Jun 2024 17:40:46 -0400 Subject: [PATCH 4/9] where is admin macaroon and tapd start data? --- regtest/litd/docker-compose.yaml | 25 ++++++++++++++------ regtest/litd/setupMac.sh | 39 +++++++++++++++++++++++++------- 2 files changed, 49 insertions(+), 15 deletions(-) diff --git a/regtest/litd/docker-compose.yaml b/regtest/litd/docker-compose.yaml index 8e9712f..958b9cb 100644 --- a/regtest/litd/docker-compose.yaml +++ b/regtest/litd/docker-compose.yaml @@ -58,13 +58,14 @@ services: --loop-mode=disable --pool-mode=disable --lnd.noseedbackup - --lnd.lnddir=/root/.litd/lnd - --lnd.alias=user - --lnd.tlsextradomain=user-litd + --lnd.alias=lnfi + --lnd.tlsextradomain=lnfi-litd --lnd.tlsextraip=127.0.0.1:9735 --lnd.listen=0.0.0.0:9735 --lnd.rpclisten=0.0.0.0:10009 --lnd.restlisten=0.0.0.0:8080 + --lnd.tlskeypath=/root/.lnd/tls.key + --lnd.tlscertpath=/root/.lnd/tls.cert --lnd.bitcoin.active --lnd.bitcoin.node=bitcoind --lnd.bitcoind.rpchost=bitcoind-backend @@ -78,9 +79,14 @@ services: --taproot-assets.universe.public-access=true --taproot-assets.allow-public-uni-proof-courier --taproot-assets.allow-public-stats + --taproot-assets.tlscertpath=/root/.tapd/tls.cert + --taproot-assets.tlskeypath=/root/.tapd/tls.key + --taproot-assets.macaroonpath=/root/.tapd/data/chain/bitcoin/regtest/admin.macaroon restart: always volumes: - - ../volumes/lnfi:/root/.litd + - ../volumes/lit/lnfi:/root/.lit + - ../volumes/lnd/lnfi:/root/.lnd + - ../volumes/tapd/lnfi:/root/.tapd expose: - '10009' - '8080' @@ -114,7 +120,6 @@ services: --loop-mode=disable --pool-mode=disable --lnd.noseedbackup - --lnd.lnddir=/root/.litd/lnd --lnd.alias=user --lnd.tlsextradomain=user-litd --lnd.tlsextraip=127.0.0.1:9736 @@ -126,6 +131,8 @@ services: --lnd.bitcoind.rpchost=bitcoind-backend --lnd.bitcoind.rpcuser=polaruser --lnd.bitcoind.rpcpass=polarpass + --lnd.tlscertpath=/root/.lnd/tls.cert + --lnd.tlskeypath=/root/.lnd/tls.key --lnd.bitcoind.zmqpubrawblock=tcp://bitcoind-backend:28334 --lnd.bitcoind.zmqpubrawtx=tcp://bitcoind-backend:28335 --taproot-assets.debuglevel=debug @@ -134,10 +141,14 @@ services: --taproot-assets.universe.public-access=true --taproot-assets.allow-public-uni-proof-courier --taproot-assets.allow-public-stats - + --taproot-assets.tlscertpath=/root/.tapd/tls.cert + --taproot-assets.tlskeypath=/root/.tapd/tls.key + --taproot-assets.macaroonpath=/root/tapd/data/chain/bitcoin/regtest/admin.macaroon restart: always volumes: - - ../volumes/user:/root/.litd + - ../volumes/lit/user:/root/.lit + - ../volumes/lit/user:/root/.lnd + - ../volumes/lit/user:/root/.tapd expose: - '10010' - '8081' diff --git a/regtest/litd/setupMac.sh b/regtest/litd/setupMac.sh index c9d98e3..dfa3ad6 100755 --- a/regtest/litd/setupMac.sh +++ b/regtest/litd/setupMac.sh @@ -25,7 +25,7 @@ sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpasswo # setup user user=`sudo docker exec -it user-litd lncli --network=regtest --rpcserver=localhost:10010 newaddress p2tr` user=$(echo $user | awk -F'"' '{print $4}') -echo "bob address => $user" +echo "user address => $user" sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpassword=polarpass -rpcuser=polaruser -rpcwallet=miningwallet sendtoaddress $user 200 sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcpassword=polarpass -rpcuser=polaruser -rpcwallet=miningwallet -generate 6 @@ -41,9 +41,9 @@ if [[ "$existing_wallet" == "miningwallet" ]]; then echo "======= lookup group key for lnfi ========" group_key_lnfi=$(docker exec -it lnfi-litd tapcli -n regtest assets groups | jq '.groups | map_values(select(.assets[] | .tag == "lnfi")) | keys[0]') echo $group_key_lnfi - echo "======= lookup group key for usercoin ========" - group_key_user=$(docker exec -it user-litd tapcli -n regtest --rpcserver=localhost:10030 assets groups | jq '.groups | map_values(select(.assets[] | .tag == "usercoin")) | keys[0]') - echo $group_key_user +# echo "======= lookup group key for usercoin ========" +# group_key_user=$(docker exec -it user-litd tapcli -n regtest --rpcserver=localhost:10030 assets groups | jq '.groups | map_values(select(.assets[] | .tag == "usercoin")) | keys[0]') +# echo $group_key_user else echo "mining wallet not found, creating new wallet" echo "======== lnfi mints assets =========" @@ -56,11 +56,34 @@ else sleep 3 echo "======== syncing user to lnfi universe =========" - sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest universe federation add --universe_host=lnfi-litd:10029 - sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest universe federation config global --proof_type issuance --allow_insert true - sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest universe federation config global --proof_type transfer --allow_insert true + sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd universe federation add --universe_host=lnfi-litd:10029 + sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd universe federation config global --proof_type issuance --allow_insert true + sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd universe federation config global --proof_type transfer --allow_insert true - sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest universe sync --universe_host=lnfi-litd:10029 + sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd universe sync --universe_host=lnfi-litd:10029 + +# echo "======== sending lnfi to user =========" +# sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd addrs new --asset_id fi +echo "======== lnd tls cert hex =========" +alice_cert=$(sudo docker exec -it lnfi-litd cat /root/.litd/lnd/tls.cert | xxd -p -c 1000 | tr -d '\n') +echo "alice cert => $alice_cert" + +echo "======== lnd admin macaroon hex =========" +alice_macaroon=$(sudo docker exec -it lnfi-litd xxd -p -c 1000 /root/.litd/lnd/data/chain/bitcoin/regtest/admin.macaroon | tr -d '\n') +echo "alice macaroon => $alice_macaroon" + +# echo "======== tapd tls cert hex =========" +# tapd_cert=$(sudo docker exec -it lnfi-litd cat /root/.litd/tapd/tls.cert | xxd -p -c 1000 | tr -d '\n') +# echo "tapd cert => $tapd_cert" + +# echo "======== tapd admin macaroon hex =========" +# tapd_macaroon=$(sudo docker exec -it lnfi-litd xxd -p -c 1000 /root/.litd/tapd/data/regtest/admin.macaroon | tr -d '\n') +# echo "tapd macaroon => $tapd_macaroon" + +# start auto mining +sudo docker exec -d -u bitcoin bitcoind-backend bash -c "/home/bitcoin/mining.sh" +echo "finish start auto mining" +sleep 3 \ No newline at end of file From ad687d031ed2b55c533c4994f0fc43784eed9c80 Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Mon, 8 Jul 2024 23:19:35 -0400 Subject: [PATCH 5/9] litd with taproot docker --- regtest/litd/docker-compose.yaml | 72 +++++++++++++++++++++++--------- regtest/litd/setupMac.sh | 34 +++++++-------- 2 files changed, 69 insertions(+), 37 deletions(-) diff --git a/regtest/litd/docker-compose.yaml b/regtest/litd/docker-compose.yaml index 958b9cb..1b67bb0 100644 --- a/regtest/litd/docker-compose.yaml +++ b/regtest/litd/docker-compose.yaml @@ -44,11 +44,14 @@ services: USERID: ${USERID:-1000} GROUPID: ${GROUPID:-1000} stop_grace_period: 2m - image: lightninglabs/lightning-terminal:v0.14.0-alpha.rc1 + image: lightninglabs/lightning-terminal:v0.13.2-alpha.rc2 container_name: lnfi-litd hostname: lnfi-litd command: >- litd + --httpslisten=0.0.0.0:8443 + --lit-dir=/root/.lit + --macaroonpath=/root/.lit/lit.macaroon --autopilot.disable --uipassword=howdoidisablethis --network=regtest @@ -59,13 +62,14 @@ services: --pool-mode=disable --lnd.noseedbackup --lnd.alias=lnfi + --lnd.lnddir=/root/.lnd --lnd.tlsextradomain=lnfi-litd + --lnd.tlsextraip=docker.for.mac.host.internal + --lnd.tlsextraip=127.0.0.1 --lnd.tlsextraip=127.0.0.1:9735 --lnd.listen=0.0.0.0:9735 --lnd.rpclisten=0.0.0.0:10009 --lnd.restlisten=0.0.0.0:8080 - --lnd.tlskeypath=/root/.lnd/tls.key - --lnd.tlscertpath=/root/.lnd/tls.cert --lnd.bitcoin.active --lnd.bitcoin.node=bitcoind --lnd.bitcoind.rpchost=bitcoind-backend @@ -76,29 +80,42 @@ services: --taproot-assets.debuglevel=debug --taproot-assets.rpclisten=0.0.0.0:10029 --taproot-assets.restlisten=0.0.0.0:8089 - --taproot-assets.universe.public-access=true + --taproot-assets.tlsextraip=127.0.0.1:10029 + --taproot-assets.tlsextraip=127.0.0.1:8444 + --taproot-assets.tlsextraip=127.0.0.1 + --taproot-assets.tlsextradomain=user-litd + --taproot-assets.tlsextraip=127.0.0.1:8443 + --taproot-assets.tlsextraip=docker.for.mac.host.internal:8443 + --taproot-assets.tlsextradomain=lnfi-litd + --taproot-assets.tlsextradomain=127.0.0.1:10029 + --taproot-assets.tlsextradomain=127.0.0.1:8443 + --taproot-assets.tlsextradomain=docker.for.mac.host.internal:8443 + --taproot-assets.universe.public-access=rw --taproot-assets.allow-public-uni-proof-courier --taproot-assets.allow-public-stats - --taproot-assets.tlscertpath=/root/.tapd/tls.cert - --taproot-assets.tlskeypath=/root/.tapd/tls.key - --taproot-assets.macaroonpath=/root/.tapd/data/chain/bitcoin/regtest/admin.macaroon + --taproot-assets.tapddir=/root/.lit/tapd + --taproot-assets.tlskeypath=/root/.lit/tls.key + --taproot-assets.tlscertpath=/root/.lit/tls.cert + restart: always volumes: - - ../volumes/lit/lnfi:/root/.lit - - ../volumes/lnd/lnfi:/root/.lnd - - ../volumes/tapd/lnfi:/root/.tapd + - ../volumes/lnfi/lit:/root/.lit + - ../volumes/lnfi/lnd:/root/.lnd + expose: - '10009' - '8080' - '9735' - '10029' - '8089' + - '8443' ports: - '10009:10009' - '8080:8080' - '9735:9735' - '10029:10029' - '8089:8089' + - '8443:8443' user: networks: - bitcoin @@ -106,12 +123,15 @@ services: USERID: ${USERID:-1000} GROUPID: ${GROUPID:-1000} stop_grace_period: 2m - image: lightninglabs/lightning-terminal:v0.14.0-alpha.rc1 + image: lightninglabs/lightning-terminal:v0.13.2-alpha.rc2 container_name: user-litd hostname: user-litd command: >- litd + --httpslisten=0.0.0.0:8444 --autopilot.disable + --lit-dir=/root/.lit + --macaroonpath=/root/.lit/lit.macaroon --uipassword=howdoidisablethis --network=regtest --lnd-mode=integrated @@ -121,7 +141,10 @@ services: --pool-mode=disable --lnd.noseedbackup --lnd.alias=user + --lnd.lnddir=/root/.lnd --lnd.tlsextradomain=user-litd + --lnd.tlsextraip=127.0.0.1 + --lnd.tlsextraip=docker.for.mac.host.internal --lnd.tlsextraip=127.0.0.1:9736 --lnd.listen=0.0.0.0:9736 --lnd.rpclisten=0.0.0.0:10010 @@ -131,33 +154,42 @@ services: --lnd.bitcoind.rpchost=bitcoind-backend --lnd.bitcoind.rpcuser=polaruser --lnd.bitcoind.rpcpass=polarpass - --lnd.tlscertpath=/root/.lnd/tls.cert - --lnd.tlskeypath=/root/.lnd/tls.key --lnd.bitcoind.zmqpubrawblock=tcp://bitcoind-backend:28334 --lnd.bitcoind.zmqpubrawtx=tcp://bitcoind-backend:28335 --taproot-assets.debuglevel=debug --taproot-assets.rpclisten=0.0.0.0:10030 --taproot-assets.restlisten=0.0.0.0:8090 - --taproot-assets.universe.public-access=true + --taproot-assets.tlsextraip=127.0.0.1:10030 + --taproot-assets.tlsextraip=127.0.0.1:8444 + --taproot-assets.tlsextraip=127.0.0.1:8443 + --taproot-assets.tlsextradomain=user-litd + --taproot-assets.tlsextraip=docker.for.mac.host.internal:8443 + --taproot-assets.tlsextradomain=lnfi-litd + --taproot-assets.tlsextradomain=127.0.0.1:10030 + --taproot-assets.tlsextradomain=127.0.0.1:8444 + --taproot-assets.universe.public-access=rw --taproot-assets.allow-public-uni-proof-courier --taproot-assets.allow-public-stats - --taproot-assets.tlscertpath=/root/.tapd/tls.cert - --taproot-assets.tlskeypath=/root/.tapd/tls.key - --taproot-assets.macaroonpath=/root/tapd/data/chain/bitcoin/regtest/admin.macaroon + --taproot-assets.tapddir=/root/.lit/tapd + --taproot-assets.tlskeypath=/root/.lit/tls.key + --taproot-assets.tlscertpath=/root/.lit/tls.cert + + restart: always volumes: - - ../volumes/lit/user:/root/.lit - - ../volumes/lit/user:/root/.lnd - - ../volumes/lit/user:/root/.tapd + - ../volumes/user/lit:/root/.lit + - ../volumes/user/lnd:/root/.lnd expose: - '10010' - '8081' - '9736' - '10030' - '8090' + - '8444' ports: - '10010:10010' - '8081:8081' - '9736:9736' - '10030:10030' - '8090:8090' + - '8444:8444' diff --git a/regtest/litd/setupMac.sh b/regtest/litd/setupMac.sh index dfa3ad6..8e198c7 100755 --- a/regtest/litd/setupMac.sh +++ b/regtest/litd/setupMac.sh @@ -41,14 +41,14 @@ if [[ "$existing_wallet" == "miningwallet" ]]; then echo "======= lookup group key for lnfi ========" group_key_lnfi=$(docker exec -it lnfi-litd tapcli -n regtest assets groups | jq '.groups | map_values(select(.assets[] | .tag == "lnfi")) | keys[0]') echo $group_key_lnfi -# echo "======= lookup group key for usercoin ========" -# group_key_user=$(docker exec -it user-litd tapcli -n regtest --rpcserver=localhost:10030 assets groups | jq '.groups | map_values(select(.assets[] | .tag == "usercoin")) | keys[0]') +# echo "======= lookup group key for lnfi token ========" +# group_key_user=$(docker exec -it user-litd tapcli -n regtest --rpcserver=localhost:8444 assets groups | jq '.groups | map_values(select(.assets[] | .tag == "usercoin")) | keys[0]') # echo $group_key_user else echo "mining wallet not found, creating new wallet" echo "======== lnfi mints assets =========" - sudo docker exec -it lnfi-litd tapcli --network=regtest assets mint --type normal --name lnfi --supply 1000000 --new_grouped_asset - sudo docker exec -it lnfi-litd tapcli --network=regtest assets mint finalize + sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets mint --type normal --name lnfi --supply 1000000 --new_grouped_asset + sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets mint finalize echo "======== lnfi asset mint finalized =========" echo "generate 10 more blocks" sudo docker exec -it -u bitcoin bitcoind-backend bitcoin-cli -regtest -rpcwallet=miningwallet -rpcpassword=polarpass -rpcuser=polaruser -generate 10 @@ -56,32 +56,32 @@ else sleep 3 echo "======== syncing user to lnfi universe =========" - sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd universe federation add --universe_host=lnfi-litd:10029 - sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd universe federation config global --proof_type issuance --allow_insert true - sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd universe federation config global --proof_type transfer --allow_insert true + sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon universe federation add --universe_host=lnfi-litd:8443 + sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon universe federation config global --proof_type issuance --allow_insert true + sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon universe federation config global --proof_type transfer --allow_insert true - sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd universe sync --universe_host=lnfi-litd:10029 + sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon universe sync --universe_host=lnfi-litd:8443 # echo "======== sending lnfi to user =========" -# sudo docker exec -it user-litd tapcli --rpcserver=localhost:10030 --network=regtest --tapddir=/root/.litd/tapd addrs new --asset_id +# sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tapddir=/root/.litd/tapd addrs new --asset_id fi echo "======== lnd tls cert hex =========" -alice_cert=$(sudo docker exec -it lnfi-litd cat /root/.litd/lnd/tls.cert | xxd -p -c 1000 | tr -d '\n') +alice_cert=$(sudo docker exec -it lnfi-litd cat /root/.lnd/tls.cert | xxd -p -c 1000 | tr -d '\n') echo "alice cert => $alice_cert" echo "======== lnd admin macaroon hex =========" -alice_macaroon=$(sudo docker exec -it lnfi-litd xxd -p -c 1000 /root/.litd/lnd/data/chain/bitcoin/regtest/admin.macaroon | tr -d '\n') +alice_macaroon=$(sudo docker exec -it lnfi-litd xxd -p -c 1000 /root/.lnd/data/chain/bitcoin/regtest/admin.macaroon | tr -d '\n') echo "alice macaroon => $alice_macaroon" -# echo "======== tapd tls cert hex =========" -# tapd_cert=$(sudo docker exec -it lnfi-litd cat /root/.litd/tapd/tls.cert | xxd -p -c 1000 | tr -d '\n') -# echo "tapd cert => $tapd_cert" +echo "======== tapd tls cert hex =========" +tapd_cert=$(sudo docker exec -it lnfi-litd cat /root/.lit/tls.cert | xxd -p -c 1000 | tr -d '\n') +echo "tapd cert => $tapd_cert" -# echo "======== tapd admin macaroon hex =========" -# tapd_macaroon=$(sudo docker exec -it lnfi-litd xxd -p -c 1000 /root/.litd/tapd/data/regtest/admin.macaroon | tr -d '\n') -# echo "tapd macaroon => $tapd_macaroon" +echo "======== tapd admin macaroon hex =========" +tapd_macaroon=$(sudo docker exec -it lnfi-litd xxd -p -c 1000 /root/.lit/tapd/data/regtest/admin.macaroon | tr -d '\n') +echo "tapd macaroon => $tapd_macaroon" # start auto mining sudo docker exec -d -u bitcoin bitcoind-backend bash -c "/home/bitcoin/mining.sh" From 024549b54d38fe4d01996575b9b61ab28c99a5e0 Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Tue, 9 Jul 2024 20:03:29 -0400 Subject: [PATCH 6/9] bump litd to lightninglabs/lightning-terminal:v0.13.99-alpha.rc2 --- regtest/litd/README.md | 56 ++++++++++++++++++++++++++++++++ regtest/litd/auth.txt | 13 ++++++++ regtest/litd/docker-compose.yaml | 5 +-- regtest/litd/setupMac.sh | 29 +++++++++++++---- 4 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 regtest/litd/README.md create mode 100644 regtest/litd/auth.txt diff --git a/regtest/litd/README.md b/regtest/litd/README.md new file mode 100644 index 0000000..fd408a4 --- /dev/null +++ b/regtest/litd/README.md @@ -0,0 +1,56 @@ +## Taproot Asset Channels +`cd regtest/litd` +# Setup Docker Containers +`docker-compose up -d` + +# Run Setup Script (Auto Mining) +`./setupMac.sh` + +# Get the Asset ID for the Demo +`sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets list` + +# Send some LNFI token to User LITD + +(1) Generate an address +Note: this commands is run from a Docker Desktop Terminal + +``` +tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon addrs new --asset_id=6637690c5200b73f75dda +b5efa5b0a64c3e426e4cc7a669da46e6ede447e233d --amt=15000 +``` + +(2) Send to the Address +Note: this command is run from a MacOS terminal + +``` +sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets send --addr taprt1qqqszqspqqzzqe3hdyx9yq9h8a6am267lfds5exrusnwfnr6v6w6gmnwmez8ugeaq5ss9jqpjfahywg528mz5ramamaw8as32kxvsycke4624spxtwjngqm4qcss9thglzl5qmuzultdvhw70gh0c23q8cac64nk2pdqd0vz43f73lvrpqssye9028v6ht9du8x3l7r2v7np7r2vg43npa2w4mm5ltnrswxx7v8xpgpl6w5cpshksctndpkkz6tv8ghj7mtpd9kxymmc9e6x2undd9hxzmpwd35kw6r5de5kueeww3hkgcte8g6rgvc9u30nw +``` + +(3) Confirm that the assets have been received by the User +``` +tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets list +``` + +# Connect the LITD Instance as Lightning Network Peers +Get the pubkeys of each instance + +`lncli --network=regtest --rpcserver=localhost:10010 getinfo` + +Ex: +02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e + +Then add the peer (setupMac.sh will take care of this now) +`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e@user-litd:9736` + +# Create the LN Wallets on Each Side + +# Open a Regular Lightning Network Channel +`docker exec -it litd lncli --rpcserver=localhost:10009 --network=regtest openchannel --node_key=02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e --connect=user-litd:9736 --local_amt=5000000` + +Note: You can also just use the `--push_amt` flag and use one command below. + +# Open a Taproot Asset Channel + +`sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e --asset_amount=150 --asset_id=6637690c5200b73f75ddab5efa5b0a64c3e426e4cc7a669da46e6ede447e233d` + +sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon --basedir=/root/.lit/tapd --network=regtest ln fundchannel --node_key=02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e --asset_amount=150 --asset_id=6637690c5200b73f75ddab5efa5b0a64c3e426e4cc7a669da46e6ede447e233d \ No newline at end of file diff --git a/regtest/litd/auth.txt b/regtest/litd/auth.txt new file mode 100644 index 0000000..2e9dd78 --- /dev/null +++ b/regtest/litd/auth.txt @@ -0,0 +1,13 @@ +tapd-macaroonhex= +tapd-tlscerthex= + +lnd-macaroonhex= +lnd-tlscerthex= + +user-tapd-macaroon= +user-tapd-tlscert= + +user-lnd-macaroon= +user-lnd-tlscert= + +asset-id=6637690c5200b73f75ddab5efa5b0a64c3e426e4cc7a669da46e6ede447e233d \ No newline at end of file diff --git a/regtest/litd/docker-compose.yaml b/regtest/litd/docker-compose.yaml index 1b67bb0..5e425e1 100644 --- a/regtest/litd/docker-compose.yaml +++ b/regtest/litd/docker-compose.yaml @@ -44,7 +44,7 @@ services: USERID: ${USERID:-1000} GROUPID: ${GROUPID:-1000} stop_grace_period: 2m - image: lightninglabs/lightning-terminal:v0.13.2-alpha.rc2 + image: lightninglabs/lightning-terminal:v0.13.99-alpha.rc2 container_name: lnfi-litd hostname: lnfi-litd command: >- @@ -123,7 +123,7 @@ services: USERID: ${USERID:-1000} GROUPID: ${GROUPID:-1000} stop_grace_period: 2m - image: lightninglabs/lightning-terminal:v0.13.2-alpha.rc2 + image: lightninglabs/lightning-terminal:v0.13.99-alpha.rc2 container_name: user-litd hostname: user-litd command: >- @@ -173,6 +173,7 @@ services: --taproot-assets.tapddir=/root/.lit/tapd --taproot-assets.tlskeypath=/root/.lit/tls.key --taproot-assets.tlscertpath=/root/.lit/tls.cert + --taproot-assets.lnd.host=127.0.0.1:10010 restart: always diff --git a/regtest/litd/setupMac.sh b/regtest/litd/setupMac.sh index 8e198c7..1a15bd8 100755 --- a/regtest/litd/setupMac.sh +++ b/regtest/litd/setupMac.sh @@ -62,27 +62,44 @@ else sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon universe sync --universe_host=lnfi-litd:8443 + echo "======== add user node as peer of service ========" + sudo docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e@user-litd:9736 + # echo "======== sending lnfi to user =========" # sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tapddir=/root/.litd/tapd addrs new --asset_id fi -echo "======== lnd tls cert hex =========" +echo "======== service lnd tls cert hex =========" alice_cert=$(sudo docker exec -it lnfi-litd cat /root/.lnd/tls.cert | xxd -p -c 1000 | tr -d '\n') -echo "alice cert => $alice_cert" +echo "lnfi cert => $alice_cert" -echo "======== lnd admin macaroon hex =========" +echo "======== service lnd admin macaroon hex =========" alice_macaroon=$(sudo docker exec -it lnfi-litd xxd -p -c 1000 /root/.lnd/data/chain/bitcoin/regtest/admin.macaroon | tr -d '\n') -echo "alice macaroon => $alice_macaroon" +echo "lnfi macaroon => $alice_macaroon" -echo "======== tapd tls cert hex =========" +echo "======== service tapd tls cert hex =========" tapd_cert=$(sudo docker exec -it lnfi-litd cat /root/.lit/tls.cert | xxd -p -c 1000 | tr -d '\n') echo "tapd cert => $tapd_cert" -echo "======== tapd admin macaroon hex =========" +echo "======== service tapd admin macaroon hex =========" tapd_macaroon=$(sudo docker exec -it lnfi-litd xxd -p -c 1000 /root/.lit/tapd/data/regtest/admin.macaroon | tr -d '\n') echo "tapd macaroon => $tapd_macaroon" +echo "======== user lnd tls cert hex =========" +alice_cert=$(sudo docker exec -it user-litd cat /root/.lnd/tls.cert | xxd -p -c 1000 | tr -d '\n') +echo "user cert => $alice_cert" + +echo "======== user lnd admin macaroon hex =========" +alice_macaroon=$(sudo docker exec -it user-litd xxd -p -c 1000 /root/.lnd/data/chain/bitcoin/regtest/admin.macaroon | tr -d '\n') +echo "user macaroon => $alice_macaroon" + +echo "======== user tapd tls cert hex =========" +tapd_cert=$(sudo docker exec -it user-litd cat /root/.lit/tls.cert | xxd -p -c 1000 | tr -d '\n') + +echo "======== user tapd admin macaroon hex =========" +tapd_macaroon=$(sudo docker exec -it user-litd xxd -p -c 1000 /root/.lit/tapd/data/regtest/admin.macaroon | tr -d '\n') + # start auto mining sudo docker exec -d -u bitcoin bitcoind-backend bash -c "/home/bitcoin/mining.sh" echo "finish start auto mining" From 91af328a8d10630bf3a841c3bfa8e1e89ce140fe Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Wed, 10 Jul 2024 10:34:45 -0400 Subject: [PATCH 7/9] bump to v0.13.99-alpha.rc3 --- regtest/litd/README.md | 19 ++++++++++--------- regtest/litd/auth.txt | 4 +++- regtest/litd/docker-compose.yaml | 4 ++-- regtest/litd/setupMac.sh | 6 +++--- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/regtest/litd/README.md b/regtest/litd/README.md index fd408a4..f08d7ba 100644 --- a/regtest/litd/README.md +++ b/regtest/litd/README.md @@ -9,21 +9,22 @@ # Get the Asset ID for the Demo `sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets list` +0c60189af34d69ac0437811ecf6f5b86aef8b20285b641b0908419132b68a477 + # Send some LNFI token to User LITD (1) Generate an address Note: this commands is run from a Docker Desktop Terminal ``` -tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon addrs new --asset_id=6637690c5200b73f75dda -b5efa5b0a64c3e426e4cc7a669da46e6ede447e233d --amt=15000 +tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon addrs new --asset_id=0c60189af34d69ac0437811ecf6f5b86aef8b20285b641b0908419132b68a477 --amt=15000 ``` (2) Send to the Address Note: this command is run from a MacOS terminal ``` -sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets send --addr taprt1qqqszqspqqzzqe3hdyx9yq9h8a6am267lfds5exrusnwfnr6v6w6gmnwmez8ugeaq5ss9jqpjfahywg528mz5ramamaw8as32kxvsycke4624spxtwjngqm4qcss9thglzl5qmuzultdvhw70gh0c23q8cac64nk2pdqd0vz43f73lvrpqssye9028v6ht9du8x3l7r2v7np7r2vg43npa2w4mm5ltnrswxx7v8xpgpl6w5cpshksctndpkkz6tv8ghj7mtpd9kxymmc9e6x2undd9hxzmpwd35kw6r5de5kueeww3hkgcte8g6rgvc9u30nw +sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets send --addr taprt1qqqszqspqqzzqrrqrzd0xntf4szr0qg7eah4hp4wlzeq9pdkgxcfppqezv4k3frhq5ss8prqv2fmgtl33y24pkrprm0gp8ht4dcvns79am30mdtwp8pckyxuqcss93rvdz6yq35ddzfvxs83snyts6ae09szdzpec67fr2decm88penypqssyy6aucj4907ejn855x0tcx3376nsevahkzjugx03xv77akykxkzxpgpl6w5cpshksctndpkkz6tv8ghj7mtpd9kxymmc9e6x2undd9hxzmpwd35kw6r5de5kueeww3hkgcte8g6rgvc9vghjz ``` (3) Confirm that the assets have been received by the User @@ -37,20 +38,20 @@ Get the pubkeys of each instance `lncli --network=regtest --rpcserver=localhost:10010 getinfo` Ex: -02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e +03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 -Then add the peer (setupMac.sh will take care of this now) -`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e@user-litd:9736` +Then add the peer +`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4@user-litd:9736` # Create the LN Wallets on Each Side # Open a Regular Lightning Network Channel -`docker exec -it litd lncli --rpcserver=localhost:10009 --network=regtest openchannel --node_key=02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e --connect=user-litd:9736 --local_amt=5000000` +`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest openchannel --node_key=03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 --connect=user-litd:9736 --local_amt=5000000` Note: You can also just use the `--push_amt` flag and use one command below. # Open a Taproot Asset Channel -`sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e --asset_amount=150 --asset_id=6637690c5200b73f75ddab5efa5b0a64c3e426e4cc7a669da46e6ede447e233d` +`sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 --asset_amount=150 --asset_id=95c2c09ef35cdc5bcf5d53338b1f97eca997dfa1214db22029da42447126fe15` -sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon --basedir=/root/.lit/tapd --network=regtest ln fundchannel --node_key=02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e --asset_amount=150 --asset_id=6637690c5200b73f75ddab5efa5b0a64c3e426e4cc7a669da46e6ede447e233d \ No newline at end of file +`sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:10029 --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon --network=regtest ln fundchannel --node_key= --asset_amount=150 --asset_id=0` \ No newline at end of file diff --git a/regtest/litd/auth.txt b/regtest/litd/auth.txt index 2e9dd78..828aea2 100644 --- a/regtest/litd/auth.txt +++ b/regtest/litd/auth.txt @@ -10,4 +10,6 @@ user-tapd-tlscert= user-lnd-macaroon= user-lnd-tlscert= -asset-id=6637690c5200b73f75ddab5efa5b0a64c3e426e4cc7a669da46e6ede447e233d \ No newline at end of file +asset-id=95c2c09ef35cdc5bcf5d53338b1f97eca997dfa1214db22029da42447126fe15 + +peer-pubkey=03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 \ No newline at end of file diff --git a/regtest/litd/docker-compose.yaml b/regtest/litd/docker-compose.yaml index 5e425e1..e92c13e 100644 --- a/regtest/litd/docker-compose.yaml +++ b/regtest/litd/docker-compose.yaml @@ -44,7 +44,7 @@ services: USERID: ${USERID:-1000} GROUPID: ${GROUPID:-1000} stop_grace_period: 2m - image: lightninglabs/lightning-terminal:v0.13.99-alpha.rc2 + image: lightninglabs/lightning-terminal:v0.13.99-alpha.rc3 container_name: lnfi-litd hostname: lnfi-litd command: >- @@ -123,7 +123,7 @@ services: USERID: ${USERID:-1000} GROUPID: ${GROUPID:-1000} stop_grace_period: 2m - image: lightninglabs/lightning-terminal:v0.13.99-alpha.rc2 + image: lightninglabs/lightning-terminal:v0.13.99-alpha.rc3 container_name: user-litd hostname: user-litd command: >- diff --git a/regtest/litd/setupMac.sh b/regtest/litd/setupMac.sh index 1a15bd8..17124c3 100755 --- a/regtest/litd/setupMac.sh +++ b/regtest/litd/setupMac.sh @@ -62,9 +62,9 @@ else sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon universe sync --universe_host=lnfi-litd:8443 - echo "======== add user node as peer of service ========" - sudo docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e@user-litd:9736 - + # echo "======== add user node as peer of service ========" + # sudo docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 02ab65c8c7ab5a8f1248b4829809f392f537ab3f316844078949564a2f4d67208e@user-litd:9736 + # echo "======== sending lnfi to user =========" # sudo docker exec -it user-litd tapcli --rpcserver=localhost:8444 --network=regtest --tapddir=/root/.litd/tapd addrs new --asset_id fi From defa69821174993cd18e12b98bc5ea1c4ca528bb Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Wed, 10 Jul 2024 12:19:29 -0400 Subject: [PATCH 8/9] check after open channel --- regtest/litd/README.md | 18 +++++++++++------- regtest/litd/auth.txt | 4 ++-- regtest/litd/docker-compose.yaml | 12 ++++++++++++ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/regtest/litd/README.md b/regtest/litd/README.md index f08d7ba..22aa79c 100644 --- a/regtest/litd/README.md +++ b/regtest/litd/README.md @@ -9,7 +9,7 @@ # Get the Asset ID for the Demo `sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets list` -0c60189af34d69ac0437811ecf6f5b86aef8b20285b641b0908419132b68a477 + # Send some LNFI token to User LITD @@ -17,14 +17,14 @@ Note: this commands is run from a Docker Desktop Terminal ``` -tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon addrs new --asset_id=0c60189af34d69ac0437811ecf6f5b86aef8b20285b641b0908419132b68a477 --amt=15000 +tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon addrs new --asset_id=9a0165b476fbe7357dfd843c51c19d991ea66390d5b3983635fe2c4dd79b812b --amt=15000 ``` (2) Send to the Address Note: this command is run from a MacOS terminal ``` -sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets send --addr taprt1qqqszqspqqzzqrrqrzd0xntf4szr0qg7eah4hp4wlzeq9pdkgxcfppqezv4k3frhq5ss8prqv2fmgtl33y24pkrprm0gp8ht4dcvns79am30mdtwp8pckyxuqcss93rvdz6yq35ddzfvxs83snyts6ae09szdzpec67fr2decm88penypqssyy6aucj4907ejn855x0tcx3376nsevahkzjugx03xv77akykxkzxpgpl6w5cpshksctndpkkz6tv8ghj7mtpd9kxymmc9e6x2undd9hxzmpwd35kw6r5de5kueeww3hkgcte8g6rgvc9vghjz +sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets send --addr taprt1qqqszqspqqzzpxspvk68d7l8x47lmppu28qemxg75e3ep4dnnqmrtl3vfhtehqftq5ssydyfsmlupx447dk3uq9208h8gxcyq8v4rwxldxgp5sgde7y7r57fqcss9xahkgcrl24aew3gkq6lx60y44ec0wsjk29zcugxlkfc3ux9u3ejpqssynvy0xgtx0uh34ztm2x4ymtsxdssxlq6z8w2cq99ehcrrkxv94t7pgpl6w5cpshksctndpkkz6tv8ghj7mtpd9kxymmc9e6x2undd9hxzmpwd35kw6r5de5kueeww3hkgcte8g6rgvcdyft9n ``` (3) Confirm that the assets have been received by the User @@ -41,17 +41,21 @@ Ex: 03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 Then add the peer -`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4@user-litd:9736` +`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 03d4d923f1616c7a0bf1b73ba32ae8f4c09a7fa7136d98e71afec5a9bcbae53b10@user-litd:9736` # Create the LN Wallets on Each Side # Open a Regular Lightning Network Channel -`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest openchannel --node_key=03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 --connect=user-litd:9736 --local_amt=5000000` +`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest openchannel --node_key=03d4d923f1616c7a0bf1b73ba32ae8f4c09a7fa7136d98e71afec5a9bcbae53b10 --connect=user-litd:9736 --local_amt=5000000` Note: You can also just use the `--push_amt` flag and use one command below. # Open a Taproot Asset Channel -`sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 --asset_amount=150 --asset_id=95c2c09ef35cdc5bcf5d53338b1f97eca997dfa1214db22029da42447126fe15` +`sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=03d4d923f1616c7a0bf1b73ba32ae8f4c09a7fa7136d98e71afec5a9bcbae53b10 --asset_amount=150 --asset_id=9a0165b476fbe7357dfd843c51c19d991ea66390d5b3983635fe2c4dd79b812b --help` + +`sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:10029 --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=038f7604ff9c094efa005b018a043b74d67122260cef3e86c1d7b6955d7dd85d91 --asset_amount=150 --asset_id=0` + +# Close Channel -`sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:10029 --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon --network=regtest ln fundchannel --node_key= --asset_amount=150 --asset_id=0` \ No newline at end of file +# Mint Another Group of Existing Asset diff --git a/regtest/litd/auth.txt b/regtest/litd/auth.txt index 828aea2..f4af27c 100644 --- a/regtest/litd/auth.txt +++ b/regtest/litd/auth.txt @@ -10,6 +10,6 @@ user-tapd-tlscert= user-lnd-macaroon= user-lnd-tlscert= -asset-id=95c2c09ef35cdc5bcf5d53338b1f97eca997dfa1214db22029da42447126fe15 +asset-id=9a0165b476fbe7357dfd843c51c19d991ea66390d5b3983635fe2c4dd79b812b -peer-pubkey=03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 \ No newline at end of file +peer-pubkey=03d4d923f1616c7a0bf1b73ba32ae8f4c09a7fa7136d98e71afec5a9bcbae53b10 \ No newline at end of file diff --git a/regtest/litd/docker-compose.yaml b/regtest/litd/docker-compose.yaml index e92c13e..e628316 100644 --- a/regtest/litd/docker-compose.yaml +++ b/regtest/litd/docker-compose.yaml @@ -77,6 +77,12 @@ services: --lnd.bitcoind.rpcpass=polarpass --lnd.bitcoind.zmqpubrawblock=tcp://bitcoind-backend:28334 --lnd.bitcoind.zmqpubrawtx=tcp://bitcoind-backend:28335 + --lnd.protocol.option-scid-alias + --lnd.protocol.zero-conf + --lnd.protocol.simple-taproot-chans + --lnd.protocol.simple-taproot-overlay-chans + --lnd.protocol.custom-message=17 + --lnd.accept-keysend --taproot-assets.debuglevel=debug --taproot-assets.rpclisten=0.0.0.0:10029 --taproot-assets.restlisten=0.0.0.0:8089 @@ -156,6 +162,12 @@ services: --lnd.bitcoind.rpcpass=polarpass --lnd.bitcoind.zmqpubrawblock=tcp://bitcoind-backend:28334 --lnd.bitcoind.zmqpubrawtx=tcp://bitcoind-backend:28335 + --lnd.protocol.option-scid-alias + --lnd.protocol.zero-conf + --lnd.protocol.simple-taproot-chans + --lnd.protocol.simple-taproot-overlay-chans + --lnd.protocol.custom-message=17 + --lnd.accept-keysend --taproot-assets.debuglevel=debug --taproot-assets.rpclisten=0.0.0.0:10030 --taproot-assets.restlisten=0.0.0.0:8090 From 594b7236b42e502688e3ed67db9a3dd50a275e24 Mon Sep 17 00:00:00 2001 From: Nicholas Sandomeno Date: Fri, 12 Jul 2024 04:12:43 -0400 Subject: [PATCH 9/9] check --- regtest/litd/README.md | 94 +++++++++++++++++++++++++++++--- regtest/litd/auth.txt | 15 ----- regtest/litd/clickboard.txt | 3 + regtest/litd/docker-compose.yaml | 8 ++- 4 files changed, 95 insertions(+), 25 deletions(-) delete mode 100644 regtest/litd/auth.txt create mode 100644 regtest/litd/clickboard.txt diff --git a/regtest/litd/README.md b/regtest/litd/README.md index 22aa79c..6b18fd9 100644 --- a/regtest/litd/README.md +++ b/regtest/litd/README.md @@ -17,14 +17,14 @@ Note: this commands is run from a Docker Desktop Terminal ``` -tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon addrs new --asset_id=9a0165b476fbe7357dfd843c51c19d991ea66390d5b3983635fe2c4dd79b812b --amt=15000 +tapcli --rpcserver=localhost:8444 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon addrs new --asset_id=31f70c24762f27db979278cf8e7484f87e0b357268f6230fa5c6b3b3cc176acd --amt=15000 ``` (2) Send to the Address Note: this command is run from a MacOS terminal ``` -sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets send --addr taprt1qqqszqspqqzzpxspvk68d7l8x47lmppu28qemxg75e3ep4dnnqmrtl3vfhtehqftq5ssydyfsmlupx447dk3uq9208h8gxcyq8v4rwxldxgp5sgde7y7r57fqcss9xahkgcrl24aew3gkq6lx60y44ec0wsjk29zcugxlkfc3ux9u3ejpqssynvy0xgtx0uh34ztm2x4ymtsxdssxlq6z8w2cq99ehcrrkxv94t7pgpl6w5cpshksctndpkkz6tv8ghj7mtpd9kxymmc9e6x2undd9hxzmpwd35kw6r5de5kueeww3hkgcte8g6rgvcdyft9n +sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:8443 --network=regtest --tlscertpath=/root/.lit/tls.cert --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon assets send --addr taprt1qqqszqspqqzzqv0hpsj8vte8mwtey7x03e6gf7r7pv6hy68kyv86t34nk0xpw6kdq5ss877pms5e6j5l28nd2h606we66w9svzc56qatzleem6ulxkhunj0xqcss9f8ycwwvcrdehz40c37g69hyw76z0tu5fshfqcqfgwx5e8pzxee6pqssyeduhrlwheu0qa4jz60relhtuls03xt0d8rtku8d0t04r5eag4axpgpl6w5cpshksctndpkkz6tv8ghj7mtpd9kxymmc9e6x2undd9hxzmpwd35kw6r5de5kueeww3hkgcte8g6rgvchz364e ``` (3) Confirm that the assets have been received by the User @@ -41,21 +41,99 @@ Ex: 03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 Then add the peer -`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 03d4d923f1616c7a0bf1b73ba32ae8f4c09a7fa7136d98e71afec5a9bcbae53b10@user-litd:9736` +`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest connect 03ae00f5ed6991a0973b32eb3e55295433bfccc8742aba750e23a5ce5e7c41d47e@user-litd:9736` # Create the LN Wallets on Each Side # Open a Regular Lightning Network Channel -`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest openchannel --node_key=03d4d923f1616c7a0bf1b73ba32ae8f4c09a7fa7136d98e71afec5a9bcbae53b10 --connect=user-litd:9736 --local_amt=5000000` +`docker exec -it lnfi-litd lncli --rpcserver=localhost:10009 --network=regtest openchannel --node_key=03ae00f5ed6991a0973b32eb3e55295433bfccc8742aba750e23a5ce5e7c41d47e --connect=user-litd:9736 --local_amt=5000000 --push_amt=1500000` Note: You can also just use the `--push_amt` flag and use one command below. +# Check that the Channel Opened on the User Side +``` +lncli --network=regtest --rpcserver=localhost:10010 listchannels +``` + # Open a Taproot Asset Channel -`sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=03d4d923f1616c7a0bf1b73ba32ae8f4c09a7fa7136d98e71afec5a9bcbae53b10 --asset_amount=150 --asset_id=9a0165b476fbe7357dfd843c51c19d991ea66390d5b3983635fe2c4dd79b812b --help` +`sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=03ae00f5ed6991a0973b32eb3e55295433bfccc8742aba750e23a5ce5e7c41d47e --asset_amount=150 --asset_id=31f70c24762f27db979278cf8e7484f87e0b357268f6230fa5c6b3b3cc176acd --sat_per_vbyte=3 --push_amt=50` + +# Check that the Taproot Asset Channel is open Now +``` +lncli --network=regtest --rpcserver=localhost:10010 listchannels +``` + +# Add Invoice +`sudo docker exec -it lnfi-litd litcli --rpcserver=localhost:8443 --macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon --network=regtest ln addinvoice --asset_id=31f70c24762f27db979278cf8e7484f87e0b357268f6230fa5c6b3b3cc176acd --asset_amount=10` + +Get an Output like this: +``` +/ # litcli --network=regtest --rpcserver=localhost:8444 --macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon ln addinvoice --asset_id=31f70c24762f27db979278cf8e7484f87e0b357268f6230fa5c6b3b3cc176a +cd --asset_amount=10 +Asking peer 03d4c62e4ce14ddb9f428196c393ff1a6b4c4472bbf35535feb3cc94c726199bb5 for quote to buy assets to receive for invoice over 10 units; waiting up to 60s +{ + "r_hash": "108cd768cc937551a3d9121cc300fa1e4894805247378a7274df7512773ceab4", + "payment_request": "lnbcrt101pnfpvajpp5zzxdw6xvjd64rg7ezgwvxq86reyffqzjgumc5un5ma63yaeua26qdqqcqzzsxqzpurzjq02vvtjvu9xah86zsxtv8yllrf45c3rjh0e42d07k0xff3exrxdm22gl96j36m6flsqqqqlgqqqqqqgq2qsp5tl32lvlk9twhc3m2fntzl7v4rwzcgejr05d499qmxe8crfeju0ds9qxpqysgqvr3hqfafhlzkzvtmjs7y7zq5hqemqxje0hayzyl3rxay6pa73u0rpsdssr4gspm4chxjnz7qpjnnwgw0zpg8tmmu999dy763u7d0x5cpydf34z", + "add_index": "1", + "payment_addr": "5fe2afb3f62add7c476a4cd62ff9951b858466437d1b52941b364f81a732e3db" +} +``` + +However several issues seem to exist still with `addinvoice` + +(a) Channel Opener gets either a assets not in channel error + +``` +[litcli] unable to send asset_id=31f70c24762f27db979278cf8e7484f87e0b357268f6230fa5c6b3b3cc176acd, not in channel +``` + +The above appears to go away after some blocks. + +Or, + +(b) Channel Opener gets a no remote balance available for asset_id error, even though +funds were pushed for both the bitcoin channel and the Taproot Asset Channel. + +``` +[litcli] no remote asset balance available for receiving asset_id=31f70c24762f27db979278cf8e7484f87e0b357268f6230fa5c6b3b3cc176acd +``` + +(b) persists even after the Non-Channel Opening party + +Further, the following RFQ related error appears after trying to `addinvoice` + +``` +2024-07-12 00:39:48 2024-07-12 04:39:48.940 [INF] GRDN: New block at height 316 +2024-07-12 00:40:17 2024-07-12 04:40:17.920 [INF] LITD: Handling gRPC request: /lnrpc.Lightning/ListChannels +2024-07-12 00:40:17 2024-07-12 04:40:17.936 [INF] LITD: Handling gRPC request: /lnrpc.Lightning/BakeMacaroon +2024-07-12 00:40:17 2024-07-12 04:40:17.944 [INF] LITD: Handling gRPC request: /rfqrpc.Rfq/AddAssetBuyOrder +2024-07-12 00:40:18 2024-07-12 04:40:18.011 [WRN] RFQS: Unable to unmarshal channel asset data: unexpected end of JSON input +2024-07-12 00:40:18 2024-07-12 04:40:18.018 [INF] LITD: Handling gRPC request: /lnrpc.Lightning/GetChanInfo +2024-07-12 00:40:18 2024-07-12 04:40:18.027 [INF] LITD: Handling gRPC request: /lnrpc.Lightning/AddInvoice +2024-07-12 00:40:19 2024-07-12 04:40:19.029 [INF] CRTR: Pruning channel graph using block 50837839ab85690d35554b8a7eb303aacc787e7f53f1681d015b07a28d6c3f24 (height=317) +2024-07-12 00:40:19 2024-07-12 04:40:19.037 [INF] CRTR: Block 50837839ab85690d35554b8a7eb303aacc787e7f53f1681d015b07a28d6c3f24 (height=317) closed 0 channels +2024-07-12 00:40:19 2024-07-12 04:40:19.055 [INF] NTFN: New block: height=317, sha=50837839ab85690d35554b8a7eb303aacc787e7f53f1681d015b07a28d6c3f24 +2024-07-12 00:40:19 2024-07-12 04:40:19.056 [INF] UTXN: Attempting to graduate height=317: num_kids=0, num_babies=0 +2024-07-12 00:40:19 2024-07-12 04:40:19.056 [INF] GRDN: New block at height 317 +``` + +# Trying to Use RFQ to Help +It seems we must setup a price oracle to really make things work. However, some configs can be used to override the need for the price oracle for now (see the taproot-docker /regtest/litd/docker-compose.yaml). + +As far as using the CLI goes, only `tapcli` has a single command available to help accept an offer: + +``` +/ # tapcli --network=regtest --rpcserver=localhost:8444 rfq --help +NAME: + tapcli rfq - Interact with Taproot Asset RFQs. -`sudo docker exec -it lnfi-litd tapcli --rpcserver=localhost:10029 --macaroonpath=/root/.lit/tapd/data/regtest/admin.macaroon --network=regtest ln fundchannel --node_key=038f7604ff9c094efa005b018a043b74d67122260cef3e86c1d7b6955d7dd85d91 --asset_amount=150 --asset_id=0` +USAGE: + tapcli rfq command [command options] [arguments...] -# Close Channel +COMMANDS: + acceptedquotes, q show all accepted quotes of the node's peers -# Mint Another Group of Existing Asset +OPTIONS: + --help, -h show help +``` \ No newline at end of file diff --git a/regtest/litd/auth.txt b/regtest/litd/auth.txt deleted file mode 100644 index f4af27c..0000000 --- a/regtest/litd/auth.txt +++ /dev/null @@ -1,15 +0,0 @@ -tapd-macaroonhex= -tapd-tlscerthex= - -lnd-macaroonhex= -lnd-tlscerthex= - -user-tapd-macaroon= -user-tapd-tlscert= - -user-lnd-macaroon= -user-lnd-tlscert= - -asset-id=9a0165b476fbe7357dfd843c51c19d991ea66390d5b3983635fe2c4dd79b812b - -peer-pubkey=03d4d923f1616c7a0bf1b73ba32ae8f4c09a7fa7136d98e71afec5a9bcbae53b10 \ No newline at end of file diff --git a/regtest/litd/clickboard.txt b/regtest/litd/clickboard.txt new file mode 100644 index 0000000..c2e51d1 --- /dev/null +++ b/regtest/litd/clickboard.txt @@ -0,0 +1,3 @@ +asset-id=31f70c24762f27db979278cf8e7484f87e0b357268f6230fa5c6b3b3cc176acd + +peer-pubkey=03ae00f5ed6991a0973b32eb3e55295433bfccc8742aba750e23a5ce5e7c41d47e \ No newline at end of file diff --git a/regtest/litd/docker-compose.yaml b/regtest/litd/docker-compose.yaml index e628316..a0edc43 100644 --- a/regtest/litd/docker-compose.yaml +++ b/regtest/litd/docker-compose.yaml @@ -102,7 +102,9 @@ services: --taproot-assets.tapddir=/root/.lit/tapd --taproot-assets.tlskeypath=/root/.lit/tls.key --taproot-assets.tlscertpath=/root/.lit/tls.cert - + --taproot-assets.experimental.rfq.priceoracleaddress=use_mock_price_oracle_service_promise_to_not_use_on_mainnet + --taproot-assets.experimental.rfq.skipacceptquotepricecheck + --taproot-assets.experimental.rfq.mockoraclecentpersat=1 restart: always volumes: - ../volumes/lnfi/lit:/root/.lit @@ -186,7 +188,9 @@ services: --taproot-assets.tlskeypath=/root/.lit/tls.key --taproot-assets.tlscertpath=/root/.lit/tls.cert --taproot-assets.lnd.host=127.0.0.1:10010 - + --taproot-assets.experimental.rfq.priceoracleaddress=use_mock_price_oracle_service_promise_to_not_use_on_mainnet + --taproot-assets.experimental.rfq.skipacceptquotepricecheck + --taproot-assets.experimental.rfq.mockoraclecentpersat=1 restart: always volumes: