90 lines
2.4 KiB
Markdown
90 lines
2.4 KiB
Markdown

|
|
|
|
# nodes
|
|
* lnd-1: for locally testing your current lnbits
|
|
* lnd-2: used for boltz backend
|
|
* lnd-3: used for lnbits inside docker
|
|
* cln-1: for locally testing your current lnbits
|
|
* cln-2: used for clightning-REST
|
|
* eclair-1: for locally testing your current lnbits
|
|
|
|
# Installing regtest
|
|
get the regtest enviroment ready
|
|
```sh
|
|
# Install docker https://docs.docker.com/engine/install/
|
|
# Make sure your user has permission to use docker 'sudo usermod -aG docker ${USER}' then reboot
|
|
# Stop/start docker 'sudo systemctl stop docker' 'sudo systemctl start docker'
|
|
|
|
sudo apt install jq
|
|
git clone https://github.com/lnbits/lnbits.git
|
|
cd lnbits
|
|
docker build -t lnbits/lnbits .
|
|
mkdir docker
|
|
git clone https://github.com/lnbits/legend-regtest-enviroment.git docker
|
|
cd docker
|
|
chmod +x ./start-regtest
|
|
./start-regtest # start the regtest and also run tests
|
|
sudo chown -R $USER ./data # Give the data file permissions for user
|
|
```
|
|
|
|
# Running LNbits on regtest
|
|
add this ENV variables to your `.env` file
|
|
```sh
|
|
DEBUG=true
|
|
|
|
# LND
|
|
LNBITS_BACKEND_WALLET_CLASS="LndRestWallet"
|
|
LND_REST_ENDPOINT=https://127.0.0.1:8081/
|
|
LND_REST_CERT=/home/user/repos/lnbits/docker/data/lnd-1/tls.cert
|
|
LND_REST_MACAROON=/home/user/repos/lnbits/docker/data/lnd-1/data/chain/bitcoin/regtest/admin.macaroon
|
|
|
|
# CLN
|
|
LNBITS_BACKEND_WALLET_CLASS="CoreLightningWallet"
|
|
CORELIGHTNING_RPC=./docker/data/clightning-1/regtest/lightning-rpc
|
|
|
|
|
|
# Run LNbits
|
|
uv run lnbits
|
|
|
|
# Run LNbits with hot reload
|
|
make dev
|
|
```
|
|
|
|
# testing
|
|
```sh
|
|
chmod +x ./start-regtest
|
|
./start-regtest
|
|
# short answer :)
|
|
./start-regtest && echo "PASSED" || echo "FAILED" > /dev/null
|
|
```
|
|
|
|
usage of the `bitcoin-cli-sim`, `lightning-cli-sim` and `lncli-sim` aliases
|
|
```sh
|
|
cd ~/lnbits/docker
|
|
source docker-scripts.sh
|
|
# use bitcoin core, mine a block
|
|
bitcoin-cli-sim -generate 1
|
|
|
|
# use c-lightning nodes
|
|
lightning-cli-sim 1 newaddr | jq -r '.bech32' # use node 1
|
|
lightning-cli-sim 2 getinfo # use node 2
|
|
lightning-cli-sim 3 getinfo # use node 3
|
|
|
|
# use lnd nodes
|
|
lncli-sim 1 newaddr p2wsh
|
|
lncli-sim 2 listpeers
|
|
```
|
|
|
|
# urls
|
|
* mempool: http://localhost:8080/
|
|
* boltz api: http://localhost:9001/
|
|
* lnd-1 rest: http://localhost:8081/
|
|
* lnbits: http://localhost:5001/
|
|
|
|
# debugging docker logs
|
|
```sh
|
|
docker logs lnbits-lnbits-1 -f
|
|
docker logs lnbits-boltz-1 -f
|
|
docker logs lnbits-clightning-1-1 -f
|
|
docker logs lnbits-lnd-2-1 -f
|
|
```
|