scripting setup of simnet.

This commit is contained in:
greg stone
2023-02-07 15:22:57 +00:00
parent 738be25ec4
commit 64b8047e2f
4 changed files with 89 additions and 21 deletions

1
docker/release/targets/lnd/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.env

View File

@@ -0,0 +1,10 @@
#!/bin/bash
docker run --rm -it \
--network=lnd_indranet \
--volume=lnd_lnd_miner_config:/etc/lnd:ro \
--volume=lnd_lnd_miner_data:/var/lnd:ro \
indralabs/lncli-multi-arch:linux-amd64-dev \
--rpcserver=172.16.43.9 \
--tlscertpath=/etc/lnd/keys/rpc.cert \
--chain=bitcoin --network=simnet $@

View File

@@ -13,7 +13,29 @@ services:
- "--rpcpass=simnet"
- "--simnet"
- "--txindex"
- "--miningaddr=sb1qc7nsgcvk496af2yuds8fk72ehn288u9nhlf0dr"
- "--miningaddr=${MINER_ADDRESS:-SSBjQ58PsRmBtGZQ8ckXFRxijZFCBdeMMT}"
lnd-miner:
image: indralabs/lnd-multi-arch:linux-amd64-dev
volumes:
- btcd_config:/etc/btcd:ro
- lnd_miner_config:/etc/lnd
- lnd_miner_data:/var/lnd
networks:
indranet:
ipv4_address: 172.16.43.9
depends_on:
- btcd
command:
- "--bitcoin.active"
- "--bitcoin.simnet"
- "--bitcoin.node=btcd"
- "--btcd.rpccert=/etc/btcd/keys/rpc.cert"
- "--btcd.rpchost=172.16.43.2:8334"
- "--btcd.rpcuser=simnet"
- "--btcd.rpcpass=simnet"
- "--accept-amp"
- "--accept-keysend"
- "--noseedbackup" # Careful now, don't use this in production.
lnd-alice:
image: indralabs/lnd-multi-arch:linux-amd64-dev
volumes:
@@ -35,6 +57,7 @@ services:
- "--btcd.rpcpass=simnet"
- "--accept-amp"
- "--accept-keysend"
- "--noseedbackup" # Careful now, don't use this in production.
lnd-bob:
image: indralabs/lnd-multi-arch:linux-amd64-dev
volumes:
@@ -56,9 +79,12 @@ services:
- "--btcd.rpcpass=simnet"
- "--accept-amp"
- "--accept-keysend"
- "--noseedbackup" # Careful now, don't use this in production.
volumes:
btcd_config:
btcd_data:
lnd_miner_config:
lnd_miner_data:
lnd_alice_config:
lnd_alice_data:
lnd_bob_config:

View File

@@ -1,28 +1,59 @@
#!/bin/bash
# Remove existing containers
docker rm lnd-btcd-1 lnd-lnd-alice-1 lnd-lnd-bob-1 2>/dev/null
docker stop lnd-btcd-1 lnd-lnd-miner-1 lnd-lnd-alice-1 lnd-lnd-bob-1 2>/dev/null 1>/dev/null
docker rm lnd-btcd-1 lnd-lnd-miner-1 lnd-lnd-alice-1 lnd-lnd-bob-1 2>/dev/null 1>/dev/null
# Remove existing volumes
docker volume rm lnd_btcd_config lnd_btcd_data lnd_lnd_alice_config lnd_lnd_alice_data lnd_lnd_bob_config lnd_lnd_bob_data 2>/dev/null
docker volume rm lnd_btcd_config lnd_btcd_data lnd_lnd_miner_config lnd_lnd_miner_data lnd_lnd_alice_config lnd_lnd_alice_data lnd_lnd_bob_config lnd_lnd_bob_data 2>/dev/null 1>/dev/null
# Setup an rpc key/cert for the btcwallet daemon
#docker run --rm -it \
# --volume=lnd_:/etc/btcwallet \
# --entrypoint="/bin/gencerts" \
# --user=8332:8332 \
# indralabs/btcctl-multi-arch:linux-amd64-dev \
# --directory=/etc/btcwallet -H * -f
docker-compose -f docker/release/targets/lnd/docker-compose.yml up --quiet-pull --detach 1>/dev/null
# Create a new wallet
#docker run --rm -it \
# --volume=btcd_btcwallet_config:/etc/btcwallet \
# --volume=btcd_btcwallet_data:/var/btcwallet \
# indralabs/btcwallet-multi-arch:linux-amd64-dev \
# --simnet --createtemp
rm docker/release/targets/lnd/.env 2>/dev/null
#docker run --rm -it \
# --volume=btcd_btcwallet_config:/etc/btcwallet \
# --volume=btcd_btcwallet_data:/var/btcwallet \
# indralabs/btcwallet-multi-arch:linux-amd64-dev \
# --simnet importprivkey FuarsNCxniX277tBYt1BDGPB6cRTUfeEhUBXNAjrg3cdsWZTNcPj
echo "waiting for the environment to start..."
sleep 10
echo "generating an lnd pubkey and address for miner, alice and bob."
docker/release/targets/lnd/bin/lncli-miner getinfo | jq -r .identity_pubkey | xargs -I {} echo "MINER_PUBKEY={}" \
>> docker/release/targets/lnd/.env
docker/release/targets/lnd/bin/lncli-miner newaddress np2wkh | jq -r .address | xargs -I {} echo "MINER_ADDRESS={}" \
>> docker/release/targets/lnd/.env
docker/release/targets/lnd/bin/lncli-alice getinfo | jq -r .identity_pubkey | xargs -I {} echo "ALICE_PUBKEY={}" \
>> docker/release/targets/lnd/.env
docker/release/targets/lnd/bin/lncli-alice newaddress np2wkh | jq -r .address | xargs -I {} echo "ALICE_ADDRESS={}" \
>> docker/release/targets/lnd/.env
docker/release/targets/lnd/bin/lncli-bob getinfo | jq -r .identity_pubkey | xargs -I {} echo "BOB_PUBKEY={}" \
>> docker/release/targets/lnd/.env
docker/release/targets/lnd/bin/lncli-bob newaddress np2wkh | jq -r .address | xargs -I {} echo "BOB_ADDRESS={}" \
>> docker/release/targets/lnd/.env
docker-compose -f docker/release/targets/lnd/docker-compose.yml down
docker-compose --env-file=docker/release/targets/lnd/.env -f docker/release/targets/lnd/docker-compose.yml up --quiet-pull --detach
echo "waiting for the environment to start...again..."
sleep 10
docker/release/targets/lnd/bin/btcctl generate 500 1>/dev/null
echo "getting miners wallet balance"
docker/release/targets/lnd/bin/lncli-miner walletbalance
source docker/release/targets/lnd/.env
echo "sending coins to alice and bob."
docker/release/targets/lnd/bin/lncli-miner sendcoins --addr $ALICE_ADDRESS --amt 100000000000
docker/release/targets/lnd/bin/lncli-miner sendcoins --addr $BOB_ADDRESS --amt 100000000000
docker/release/targets/lnd/bin/btcctl generate 1 1>/dev/null
echo "getting alice's wallet balance:"
docker/release/targets/lnd/bin/lncli-alice walletbalance
echo "getting bob's wallet balance:"
docker/release/targets/lnd/bin/lncli-bob walletbalance
docker-compose -f docker/release/targets/lnd/docker-compose.yml down