Інтеграція Lightning Network платежів на сайт

On-chain Bitcoin підходить для зберігання, але не для щоденних платежів: комісія $1–20 при навантаженні, підтвердження 10–60 хвилин. Lightning Network (LN) вирішує це — миттєві транзакції за частки цента. **Lightning Network дешевше on-chain у 100 разів і швидше у 1000 разів.** Наша команда має бага

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1004
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1270
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1011

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 ліквідність. Платіж проходить лише якщо на шляху є канали з достатньою сумою. Стратегії:

  1. Lightning Pool — купуєте inbound ліквідність на маркетплейсі від Lightning Labs (вартість 0.1-0.5% від суми).
  2. Loop In — submarine swap: on-chain BTC → LN, отримуєте inbound канал (фіксована комісія ~2000 сат).
  3. Партнерські ноди — відкриваєте канали з великими гравцями (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 для продакшена

  1. Встановлюємо Bitcoin Core і чекаємо синхронізації (IBD може зайняти 2-3 дні на хорошому залізі).
  2. Встановлюємо LND, налаштовуємо lnd.conf (як вище), запускаємо.
  3. Створюємо гаманець через lncli create, зберігаємо seed.
  4. Відкриваємо канали: мінімум 2-3 канали з достатньою ліквідністю для прийому платежів.
  5. Налаштовуємо автоматичне управління ліквідністю (наприклад, через LND Autopilot або власні скрипти).
  6. Інтегруємо API: створення інвойсів, WebSocket для сповіщень.
  7. Моніторинг: 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-кодом і таймером. Замовте консультацію — ми допоможемо обрати оптимальну архітектуру під ваш бізнес.