6.7 KiB
6.7 KiB
Local LND
To also work with wallet functionality, you need a local running LND node.
- Download the AppImage for polar and run it.
- Create a lightning network with one LND node and one Bitcoin Core node.
- Start the network
- Click on the LND node and make sure status is green
- Go to "Connect" > "Hex"
- Copy TLS cert and admin macaroon in hex into your env file
- Create the network
stackernews_default
if it is not created yet. It is automatically created when runningdocker-compose up
:
$ docker network create stackernews_default
Error response from daemon: network with name stackernews_default already exists
$ docker network inspect stackernews_default
[
{
"Name": "stackernews_default",
"Id": "2a5b089fb0f6f71f98c0f434f58cb368568227ced489c490d09cea3f63973a2a",
"Created": "2023-05-17T02:04:06.302835394+02:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "192.168.128.0/20",
"Gateway": "192.168.128.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {
"com.docker.compose.network": "default",
"com.docker.compose.project": "stackernews",
"com.docker.compose.version": "2.17.3"
}
}
]
- Run
docker ps
and find the container name and GRPC container port of the LND node:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eb3480c0d0c4 polarlightning/lnd:0.16.0-beta "/entrypoint.sh lnd …" 8 minutes ago Up 8 minutes 0.0.0.0:9735->9735/tcp, :::9735->9735/tcp, 10000/tcp, 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp, 0.0.0.0:10001->10009/tcp, :::10001->10009/tcp polar-n1-alice
e0635bff36ba polarlightning/bitcoind:24.0 "/entrypoint.sh bitc…" 8 minutes ago Up 8 minutes 0.0.0.0:18443->18443/tcp, :::18443->18443/tcp, 0.0.0.0:28334->28334/tcp, :::28334->28334/tcp, 0.0.0.0:19444->18444/tcp, :::19444->18444/tcp, 0.0.0.0:29335->28335/tcp, :::29335->28335/tcp polar-n1-backend1
Here, it is polar-n1-alice
and port is 10009 (not 10001, that's the host port).
- Add the container to the network
stackernews_default
:
$ docker network connect stackernews_default polar-n1-alice
$ docker network inspect stackernews_default
[
{
"Name": "stackernews_default",
"Id": "2e1bc3297c95073dc3723051144587a8431f242d031fce2c27ec13be948783ec",
"Created": "2023-05-17T02:40:57.605076983+02:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.192.0/20",
"Gateway": "192.168.192.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"eb3480c0d0c4452cfe5cb94da6cb81a060d5a6db45526e15b960adbb01064930": {
"Name": "polar-n1-alice",
"EndpointID": "421462516a1d858f856ef5af0e677063b35777fe8b24134e129b82c889ef51d1",
"MacAddress": "02:42:c0:a8:c0:02",
"IPv4Address": "192.168.192.2/20",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
- Set
LND_SOCKET
to<container_name>:<grpc_container_port>
. Make sure to use the container name as found in the output ofdocker ps
ordocker network inspect
. IPs do not work! - Run
docker-compose up --build
- You should now see all four containers in the
stackernews_default
network:
$ docker network inspect stackernews_default
[
{
"Name": "stackernews_default",
"Id": "2e1bc3297c95073dc3723051144587a8431f242d031fce2c27ec13be948783ec",
"Created": "2023-05-17T02:40:57.605076983+02:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.192.0/20",
"Gateway": "192.168.192.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"97977685f6c3dfa74b37406a300a97dc188b32c248dd0f7d127804c4f5028d47": {
"Name": "db",
"EndpointID": "5c6307e5cf70108ac37965730180ae1ecadd39673c58146b0755fecea9964391",
"MacAddress": "02:42:c0:a8:c0:03",
"IPv4Address": "192.168.192.3/20",
"IPv6Address": ""
},
"b8b48fd9c6464d70e4ab0140102be233ade57d3898a00572eb261469b3a510f8": {
"Name": "worker",
"EndpointID": "cdb488fec12b127e502326bbfafbde4704ed26faf70a9ca76db9ae8fa480a487",
"MacAddress": "02:42:c0:a8:c0:05",
"IPv4Address": "192.168.192.5/20",
"IPv6Address": ""
},
"eb3480c0d0c4452cfe5cb94da6cb81a060d5a6db45526e15b960adbb01064930": {
"Name": "polar-n1-alice",
"EndpointID": "421462516a1d858f856ef5af0e677063b35777fe8b24134e129b82c889ef51d1",
"MacAddress": "02:42:c0:a8:c0:02",
"IPv4Address": "192.168.192.2/20",
"IPv6Address": ""
},
"fe8be23961026e0fc264e384e8f3715956cb0b947d6b9925f71f1071dc07c402": {
"Name": "app",
"EndpointID": "660c360c4750a69c1f77eb40c510b3cc679bb1ae4442f648d41c40402abb5f85",
"MacAddress": "02:42:c0:a8:c0:04",
"IPv4Address": "192.168.192.4/20",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
- Watch logs of app container for "LND GRPC connection error" or "LND GRPC connection successful"