Cómo usar LNbits para crear tus propias extensiones Lightning
Introducción al desarrollo de extensiones en LNbits
LNbits es un monedero modular para la red Lightning que permite crear y desplegar extensiones personalizadas sin tocar el núcleo de la aplicación. Con su arquitectura basada en plugins, puedes añadir funcionalidades específicas, automatizar pagos o integrar nuevos servicios.
Requisitos previos
Instalación y configuración de tu entorno
1. Clonar el repositorio oficial
Ejecuta:
Entra en la carpeta raíz:
2. Crear y activar el entorno virtual
En Linux/Mac:
source venv/bin/activate
En Windows:
venvScriptsactivate
3. Instalar dependencias
Estructura básica de una extensión
Cada extensión de LNbits debe incluir al menos:
Generando el scaffold de la extensión
LNbits incluye un generador que crea la estructura mínima. Desde la raíz ejecuta:
Esto crea una carpeta
Desarrollando la lógica de negocio
Archivo __init__.py
Define nombre, versión, autor y descripción:
Rutas y controladores (routes.py)
Importa Blueprint de Flask y define endpoints:
from lnbits.decorators import require_admin
bp = Blueprint(my_extension, __name__, url_prefix=/myext)
@bp.route(/status, methods=[GET])
@require_admin
def status():
return jsonify({status: ok})
Conectando con la red Lightning
Utiliza el cliente provisto por LNbits para crear facturas o consultar pagos:
from lnbits.helpers import pay_invoice, create_invoice
Pruebas y depuración
Ejecuta la aplicación en modo desarrollo:
flask run
Usa herramientas como
Empaquetado y distribución
Una vez completada, añade tu extensión a la lista de disponibles:
Ejemplo práctico: extensión de propinas automáticas
Imagina una extensión que envía un pago de propina al creador cuando un usuario visita una página. En
def tip():
data = request.get_json()
invoice = create_invoice(amount=100, memo=Propina)
pay_result = pay_invoice(invoice.r_hash)
return jsonify({paid: pay_result})
Recursos adicionales
Conclusión
Crear extensiones para LNbits te permite agregar funcionalidades a la red Lightning de manera modular y segura. Siguiendo esta guía tendrás la base para desarrollar, probar y distribuir tus propios plugins adaptados a tus necesidades.
