Lightning Hub
Para actuar como conector con tus apps cliente, necesitarás LNBits o Albyhub, además de tu nodo Lightning.
Haz clic para elegir un Lightning Hub como tu base de operaciones:
- LNBits se conecta prácticamente con cualquier backend de Lightning
- Albyhub se conecta a Phoenixd (recomendado), LDK (incluido con Albyhub), y LND.
LNBits
Clona el repositorio
mkdir -p ~/code && cd ~/code
git clone https://github.com/lnbits/lnbits
cd ~/code/lnbits
Instala las dependencias
sudo apt install build-essential libsecp256k1-dev pkg-config python3-dev
# install poetry
curl -sSL https://install.python-poetry.org | python3 -
Asegúrate de copiar y pegar el comando export
que muestra el instalador de poetry para poder ejecutar poetry desde tu shell actual. Si deseas instalar poetry de forma permanente, agrega este comando export
a tu archivo ~/.bashrc
. Para probar si poetry funciona, ejecuta:
poetry --version
Si funcionó, ahora tienes poetry y puedes pasar al siguiente paso:
git checkout main
poetry install --only main
Si Poetry se queda colgado durante la instalación de dependencias, el problema puede resolverse desactivando keyring:
poetry config keyring.enabled false
Configura LNBits
Copia al portapapeles el http-password desde phoenix.conf
docker exec -it phoenixd cat /phoenix/.phoenix/phoenix.conf | grep http-password=
Ahora crea y edita el archivo .env
cp .env.example .env
nano .env
- Cambia
HOST=127.0.0.1
aHOST=0.0.0.0
- Cambia
LNBITS_BACKEND_WALLET_CLASS=VoidWallet
aLNBITS_BACKEND_WALLET_CLASS=PhoenixdWallet
- Busca la sección
# PhoenixdWallet
y cambia la línea que dicePHOENIXD_API_PASSWORD=PHOENIXD_KEY
porPHOENIXD_API_PASSWORD=<pega tu http-password>
- Ctrl+s luego Ctrl+x para guardar y salir
Servicio systemd
Sigue las instrucciones para instalar LNBits como servicio systemd (repeated here for your convenience):
sudo nano /etc/systemd/system/lnbits.service
Copia y pega lo siguiente en el archivo (ctrl+shift+v para pegar en linux o cmd+v en mac) (NOTA: Si no usas un orangepi para este tutorial, asegúrate de reemplazar todas las apariciones de "orangepi" por tu usuario real):
# Systemd unit for lnbits
# /etc/systemd/system/lnbits.service
[Unit]
Description=LNbits
# you can uncomment these lines if you know what you're doing
# it will make sure that lnbits starts after lnd (replace with your own backend service)
#Wants=lnd.service
#After=lnd.service
[Service]
# replace with the absolute path of your lnbits installation
WorkingDirectory=/home/orangepi/code/lnbits
# same here. run `which poetry` if you can't find the poetry binary
ExecStart=/home/orangepi/.local/bin/poetry run lnbits
# replace with the user that you're running lnbits on
User=orangepi
Restart=always
TimeoutSec=120
RestartSec=30
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=multi-user.target
- Ctrl+s, Ctrl+x para guardar y salir
- Habilita lnbits para que inicie al arrancar el sistema y arráncalo:
sudo systemctl enable lnbits.service
sudo systemctl start lnbits.service
Verifica que lnbits esté conectado a phoenixd. Revisa los logs y asegúrate de ver PhoenixdWallet
, no VoidWallet
:
sudo journalctl -u lnbits -ef
En algunos sistemas puedes necesitar esto en su lugar:
sudo tail -f /var/log/syslog
Una vez que lnbits esté corriendo y conectado a phoenixd correctamente, deberías habilitar la interfaz de administración (admin UI) para poder instalar la extensión LNDHub:
nano .env
- Cambia
LNBITS_ADMIN_UI=false
aLNBITS_ADMIN_UI=true
(ATENCIÓN A LA NOTA SUPERIOR EXPLICANDO QUE EL RESTO DE LA CONFIGURACIÓN SE IGNORA CUANDO ESTA OPCIÓN ESTÁ ACTIVA)
Continúa con el siguiente paso para instalar LNDHub. Una vez instalado, puedes desactivar la admin UI de nuevo.
LndHub
Instala y obtén el QR para los pagos
- Ingresa al portal de superusuario de lnbits desde tu navegador (
http://<IP LAN de orangepi, igual que SSH>:5000
) - Crea un nombre de usuario y contraseña, asegurándote de guardar el enlace de tu wallet en un lugar seguro, como un gestor de contraseñas.
- Haz clic en
Extensions
- Haz clic en
All
- Busca "lndhub" en la barra de búsqueda
- Encuentra la extensión
LndHub
y haz clic enManage
- Haz clic en el menú desplegable que aparece y selecciona la última versión disponible (0.5.0 al momento de escribir esto)
- Serás llevado a la página
Installed
- Haz clic en
Enable
en la extensiónLndHub
. - Aparecerá un ítem de
LndHub
bajo el títuloExtensions
en la izquierda de tu ventana. Haz clic ahí. - Se te mostrarán 2 códigos QR. El de la izquierda es la "invoice URL" y el de la derecha la "admin URL". Usaremos la "invoice URL" para configurar tu dispositivo de punto de venta.
Desactiva de nuevo LNBITS_ADMIN_UI
Una vez instalado LNDHub, debes desactivar de nuevo LNBITS_ADMIN_UI en LNBits. Vuelve a tu terminal y edita el archivo .env de LNBits:
nano ~/code/lnbits/.env
Cambia LNBITS_ADMIN_UI=true
a LNBITS_ADMIN_UI=false
Guarda y cierra (ctrl+s, ctrl+x)
¡Ahora conecta tu app de punto de venta! (Zeus si usas LNBits con LNDHub)
Albyhub
Albyhub es una manera rápida de empezar a aceptar pagos Lightning. En este tutorial lo usaremos con uno de dos backends:
- LDK (incluido con Albyhub), o
- Phoenixd
Puedes ejecutar albyhub en muchos entornos:
- Escritorio/laptop
- Docker (para orangepi o vps)
- Nodos preconfigurados como Start9 (por ahora no funciona con phoenixd)
Desktop
- Instala la última versión desde aquí (v1.14.2 al momento de escribir esto)
- Elige el archivo comprimido apropiado para tu sistema operativo
- Extrae el archivo en un directorio conveniente
- Ejecuta el binario "Alby Hub"
- En Linux es
./albyhub-Desktop-Linux/albyhub-Desktop-Linux/bin/Alby\ Hub
desde el directorio donde descomprimiste el archivo
- En Linux es
Docker (solo probado en Linux)
¡Docker facilita la configuración de Albyhub!
docker-compose (asegúrate de detener tu contenedor phoenixd anterior si eliges esta opción)
-
Ideal para correr Albyhub y Phoenixd juntos.
-
Instala docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Crea un directorio para los datos de albyhub:
mkdir -p albyhub && cd albyhub
Crea y edita docker-compose.yml
:
- Crea:
nano docker-compose.yml
- Pega:
services:
albyhub:
container_name: albyhub
image: ghcr.io/getalby/hub:latest
volumes:
- ./albyhub-phoenixd:/data
ports:
- "8080:8080"
links:
- "albyhub-phoenixd:albyhub-phoenixd"
environment:
- WORK_DIR=/data/albyhub
- LOG_EVENTS=true
restart: unless-stopped # al arrancar, inicia el contenedor
albyhub-phoenixd:
platform: linux/arm64
image: ghcr.io/sethforprivacy/phoenixd:v0.4.2
container_name: albyhub-phoenixd
ports:
- "9740:9740"
volumes:
- phoenixd_data:/phoenix
command: --agree-to-terms-of-service --http-bind-ip 0.0.0.0
restart: unless-stopped # al arrancar, inicia el contenedor
volumes:
phoenixd_data:
external: true
Configura Albyhub con el backend seleccionado (necesario tanto en Escritorio como en Docker)
- Para LDK, usa el valor por defecto.
- Deberás adquirir liquidez entrante comprando un canal a un LSP.
- Para Phoenixd, selecciona "advanced" y luego "connect custom node" al iniciar la configuración.
- No puedes cambiar esto después sin borrar los datos de Albyhub, así que hazlo bien la primera vez.
- Usa
http://127.0.0.1:9740
(o la IP de tu LAN si es en otro equipo) para Escritorio, yhttp://albyhub-phoenixd:9740
si es en docker-compose. - Obtén tu
http-password
de Phoenixd como se describe en la sección LNBits de arriba, y pégalo en el campo "Authorization" de Albyhub Desktop. - Ya debiste haber adquirido liquidez entrante al configurar Phoenixd en el paso anterior.
¡Felicidades, ya tienes tu Lightning Hub configurado!
Sigue leyendo para conectar la app de punto de venta para tus trabajadores.