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/README.md b/regtest/litd/README.md new file mode 100644 index 0000000..6b18fd9 --- /dev/null +++ b/regtest/litd/README.md @@ -0,0 +1,139 @@ +## 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=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 taprt1qqqszqspqqzzqv0hpsj8vte8mwtey7x03e6gf7r7pv6hy68kyv86t34nk0xpw6kdq5ss877pms5e6j5l28nd2h606we66w9svzc56qatzleem6ulxkhunj0xqcss9f8ycwwvcrdehz40c37g69hyw76z0tu5fshfqcqfgwx5e8pzxee6pqssyeduhrlwheu0qa4jz60relhtuls03xt0d8rtku8d0t04r5eag4axpgpl6w5cpshksctndpkkz6tv8ghj7mtpd9kxymmc9e6x2undd9hxzmpwd35kw6r5de5kueeww3hkgcte8g6rgvchz364e +``` + +(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: +03864e9cf12c8d0bdaa85784f3ba5c198a0bd99bda74a6400f5a44ada40b788cb4 + +Then add the peer +`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=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=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. + +USAGE: + tapcli rfq command [command options] [arguments...] + +COMMANDS: + acceptedquotes, q show all accepted quotes of the node's peers + +OPTIONS: + --help, -h show help +``` \ 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 new file mode 100644 index 0000000..a0edc43 --- /dev/null +++ b/regtest/litd/docker-compose.yaml @@ -0,0 +1,212 @@ +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.13.99-alpha.rc3 + 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 + --lnd-mode=integrated + --taproot-assets-mode=integrated + --faraday-mode=disable + --loop-mode=disable + --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.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 + --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 + --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.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 + - ../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 + environment: + USERID: ${USERID:-1000} + GROUPID: ${GROUPID:-1000} + stop_grace_period: 2m + image: lightninglabs/lightning-terminal:v0.13.99-alpha.rc3 + 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 + --taproot-assets-mode=integrated + --faraday-mode=disable + --loop-mode=disable + --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 + --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 + --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 + --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.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 + --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/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 new file mode 100755 index 0000000..17124c3 --- /dev/null +++ b/regtest/litd/setupMac.sh @@ -0,0 +1,106 @@ +# 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 +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 "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 + +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 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 --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 + echo "======== finish generate init blocks ========" + sleep 3 + + echo "======== syncing user to lnfi universe =========" + 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: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 "======== 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 "lnfi cert => $alice_cert" + +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 "lnfi macaroon => $alice_macaroon" + +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 "======== 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" +sleep 3 \ No newline at end of file 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