Cómo crear facturas en Bitcoin con Lightning:


En este artículo aprenderás de forma detallada y muy específica cómo generar facturas en la red de Bitcoin mediante el protocolo Lightning Network. Veremos distintas herramientas y métodos, desde clientes de nodo hasta soluciones listas para integrarse en tu sitio web.

1. Introducción a las facturas Lightning

Una factura Lightning (o invoice) es un mensaje codificado según el estándar BOLT11 que describe la cantidad a recibir, el destino y otros parámetros opcionales. A diferencia de las direcciones on-chain, las facturas Lightning permiten micro pagos instantáneos y de muy bajo coste.

2. Pre-requisitos

Un nodo Lightning operativo (LND, c-lightning, Eclair, etc.).

Fondos disponibles en canales conectados con suficiente capacidad.

Consola o interfaz para interactuar con el cliente Lightning.

Conocimientos básicos de línea de comandos y seguridad en manejo de claves.

3. Crear facturas con LND (ln-cli)

3.1. Configuración inicial

Asegúrate de tener en ejecución lnd y de haber desbloqueado tu cartera:

Inicia el demonio: lnd.

Desbloquea con la contraseña y la frase mnemotécnica.

Confirma que tu nodo está sincronizado con Bitcoin y con la red Lightning.

3.2. Comando para generar la factura

El comando base es:

ln-cli addinvoice –amt ltsatoshisgt –memo ltdescripcióngt

Por ejemplo, para crear una factura de 1.000 satoshis con nota “Pago servicio”:

ln-cli addinvoice –amt 1000 –memo Pago servicio

3.3. Parámetros más usados

–amt: cantidad en satoshis (entero).

–memo: texto descriptivo opcional.

–expiry: tiempo en segundos antes de expirar (por defecto 3600s).

–description_hash: hash de descripción en lugar de memo.

Salida esperada

Al ejecutar addinvoice recibirás un JSON con campos:

r_hash: identificador interno.

payment_request: la factura en formato BOLT11.

add_index y payment_addr (para seguimiento).

4. Crear facturas con c-lightning (lightning-cli)

4.1. Instalación y puesta en marcha

Instala c-lightning desde GitHub.

Inicializa la carpeta de datos con lightningd –network=mainnet (o testnet).

Abrir canales y asegurarse de tener capacidad en la red.

4.2. Generar la factura

Utiliza:

lightning-cli invoice ltsatoshisgt ltlabelgt ltdescripcióngt

Ejemplo:

lightning-cli invoice 500 orden123 Venta eBook

4.3. Campos clave en la respuesta

bolt11: la factura completa.

payment_hash: r_hash interno.

expires_at: marca temporal de expiración.

5. Crear facturas con BTCPay Server

5.1. Ventajas de BTCPay

No custodia fondos.

Interfaz web para generar y gestionar facturas.

Integración con tiendas online (WooCommerce, Magento, etc.).

5.2. Proceso paso a paso

Instala o accede a tu servidor BTCPay.

Crea una tienda y añade la opción de pago Lightning.

En “Recepción” > “Lightning” > “Crear Factura”: define cantidad y descripción.

BTCPay mostrará el BOLT11 y un QR listo para compartir.

6. Parámetros comunes en una factura Lightning

Campo Descripción
amount Cantidad en satoshis a pagar.
currency Generalmente BTC (la unidad base) o satoshis.
payee Clave pública del nodo receptor.
timestamp Momento de creación (Unix epoch).
expiry Tiempo de validez en segundos.
description Texto libre o hash que identifica la factura.

7. Integración en tu página web

Genera la invoice en tu backend y devuélvela al frontend.

Muestra el string BOLT11 y un código QR (usa bibliotecas como lnurl-tools).

Implementa consultas periódicas para verificar pago (Webhooks o polling con getinvoice).

Una vez confirmado, desbloquea el acceso al servicio o envía el producto.

8. Consejos de seguridad

Guarda tu macaroon y claves de nodo fuera de internet.

Limita permisos de API para clientes externos.

Revisa logs de pagos y rechaza canales no fiables.

Usa Tor o VPN para ocultar la dirección IP de tu nodo.

9. Conclusión

Crear facturas en Bitcoin con Lightning es sencillo una vez que tienes tu nodo configurado. Ya sea con LND, c-lightning o soluciones como BTCPay Server, podrás generar y gestionar invoices de forma rápida y segura, aprovechando la velocidad y bajos costos del protocolo Lightning.

Leave a Reply

Your email address will not be published. Required fields are marked *