Интеграция Lightning Network платежей на сайт — современный стандарт для крипто-магазинов, стримингового биллинга и микроплатёжных платформ. Стоимость разработки: от 800 USD за базовую интеграцию и от 2 000 USD за enterprise-пакет с автоматическим управлением ликвидностью и мониторингом.
On-chain Bitcoin отлично подходит для хранения, но не для ежедневных платежей: комиссия $1–20 при нагрузке, подтверждение 10–60 минут. Lightning Network (LN) решает это — мгновенные транзакции за доли цента. Lightning Network дешевле on-chain в 100 раз и быстрее в 1000 раз. Наша команда имеет многолетний опыт интеграции LN на сайты: запущено 30+ проектов для e-commerce, донатных платформ и DeFi-приложений. Гарантируем стабильную работу каналов и автоматизацию ликвидности. Например, при 1000 платежах по $5 экономия на комиссиях составит около $150 в месяц по сравнению с on-chain.
Какую архитектуру выбрать: собственная нода или custody?
Первое решение — уровень контроля. Собственная LN-нода (LND или Core Lightning) даёт полный контроль, нулевые комиссии посредника и возможность масштабирования. Но требует управления каналами и ликвидностью. Custody-решения (OpenNode, Strike, BTCPay Cloud) проще, но вы доверяете третьей стороне. Для магазинов с оборотом >1000 сат/день своя нода окупается за 3–6 месяцев. Для production LND требуется VPS с 4 vCPU, 8GB RAM и 500GB SSD, плюс Bitcoin Core и PostgreSQL. Мы используем Ubuntu 22.04 LTS.
| Параметр | LND (самостоятельно) | BTCPay Server | OpenNode |
|---|---|---|---|
| Контроль | Полный | Полный (self-hosted) | Нет (custody) |
| Комиссия | 0% | 0% (только сетевые) | 1% |
| Сложность | Высокая | Средняя | Низкая |
| Время настройки | 5–7 дней | 2–3 дня | 1–2 дня |
Почему стоит выбрать LND для production?
Lightning Labs — самый стабильный и документированный LN-демон. В production мы используем LND с Bitcoin full node и PostgreSQL для высокой доступности. Пример конфига:
# Минимальный lnd.conf для production [Application Options] alias=MyShop-LN color=#FF6600 maxpendingchannels=5 [Bitcoin] bitcoin.active=1 bitcoin.mainnet=1 bitcoin.node=bitcoind [Bitcoind] bitcoind.rpchost=localhost bitcoind.rpcuser=bitcoinrpc bitcoind.rpcpass=strongpassword bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 [protocol] protocol.wumbo-channels=true Управление ликвидностью LN-каналов
Главная операционная сложность LN — inbound ликвидность. Платёж проходит только если на пути есть каналы с достаточной суммой. Стратегии:
- Lightning Pool — покупаете inbound ликвидность на маркетплейсе от Lightning Labs (стоимость 0.1-0.5% от суммы).
- Loop In — submarine swap: on-chain BTC → LN, получаете inbound канал (фиксированная комиссия ~2000 сат).
- Партнёрские ноды — открываете каналы с крупными игроками (ACINQ, Kraken), они часто открывают встречные (0% комиссии, но требуют переговоров).
Сравнение стратегий:
| Метод | Стоимость | Время | Доступность |
|---|---|---|---|
| Lightning Pool | 0.1-0.5% | минуты | Всегда |
| Loop In | ~2000 сат | 10-30 мин | Высокая |
| Партнёрские ноды | 0% | Переговоры | Зависит |
// Loop In для пополнения inbound ликвидности const loopdClient = new LoopClient(LOOPD_HOST) async function increaseInboundLiquidity(amountSats: number): Promise<void> { const quote = await loopdClient.loopInQuote({ amt: amountSats }) console.log(`Loop In quote: ${quote.swap_fee_sat} sats fee, ${quote.miner_fee_sat} sats miner fee`) await loopdClient.loopIn({ amt: amountSats, max_swap_routing_fee: quote.swap_fee_sat, max_miner_fee: quote.miner_fee_sat, external_htlc: false, }) } Инвойсы и обработка платежей
LND предоставляет gRPC API. Для Node.js используем @lightningpolar/lnd. Создаём инвойс с привязкой к заказу.
import { createLnRpc } from '@lightningpolar/lnd' const lnRpc = await createLnRpc({ server: 'localhost:10009', tls: fs.readFileSync('/home/bitcoin/.lnd/tls.cert'), macaroon: fs.readFileSync('/home/bitcoin/.lnd/data/chain/bitcoin/mainnet/invoice.macaroon'), }) async function createInvoice(amountSats: number, orderId: string, expirySeconds = 3600) { const invoice = await lnRpc.addInvoice({ value: amountSats, expiry: expirySeconds, r_preimage: crypto.randomBytes(32), }) await db('ln_invoices').insert({ order_id: orderId, payment_hash: Buffer.from(invoice.r_hash).toString('hex'), payment_request: invoice.payment_request, amount_sats: amountSats, expires_at: new Date(Date.now() + expirySeconds * 1000), status: 'pending', }) return { paymentRequest: invoice.payment_request, paymentHash: Buffer.from(invoice.r_hash).toString('hex'), expiresAt: new Date(Date.now() + expirySeconds * 1000), } } Отслеживание оплаты — через SubscribeInvoice stream. Не поллите статус: LND сам сообщит о событии.
Пошаговая настройка LND для продакшена
- Устанавливаем Bitcoin Core и дожидаемся синхронизации (IBD может занять 2-3 дня на хорошем железе).
- Устанавливаем LND, настраиваем lnd.conf (как выше), запускаем.
- Создаём кошелёк через
lncli create, сохраняем seed. - Открываем каналы: минимум 2-3 канала с достаточной ликвидностью для приёма платежей.
- Настраиваем автоматическое управление ликвидностью (например, через LND Autopilot или собственные скрипты).
- Интегрируем API: создание инвойсов, WebSocket для уведомлений.
- Мониторинг: Prometheus + Grafana, алертинг при нехватке ликвидности.
Что входит в работу
- Развёртывание Bitcoin Core + LND на VPS (4 vCPU, 8GB RAM, 500GB SSD)
- Настройка каналов и первоначальная ликвидность
- API эндпоинты для создания/проверки инвойсов
- WebSocket уведомления об оплате
- Документация по эксплуатации и мониторинг (Prometheus + Grafana)
- 30 дней поддержки после запуска
Часто задаваемые вопросы
Нужен ли отдельный сервер для Lightning-ноды? Да, для production рекомендуем VPS с 4 vCPU, 8GB RAM, SSD 500GB+. Мы настраиваем и сопровождаем инфраструктуру в рамках контракта.
Можно ли работать без Bitcoin Core? Нет, LND требует полный биткоин-узел. Мы помогаем выбрать оптимальную конфигурацию под ваш трафик и бюджет.
Свяжитесь с нами для оценки вашего проекта. Внедряем под ключ: от выбора хостинга до UX с QR-кодом и таймером. Закажите консультацию — мы поможем выбрать оптимальную архитектуру под ваш бизнес.







