Поднимаем Lightning Network ноду Bitcoin

3년 전

Перевод, оригинал статьи https://medium.com/@jadmubaslat/bitcoin-lightning-network-node-easy-setup-tutorial-for-windows-desktop-users-a-how-to-guide-9937b5a8a669

Недавно я заметил возросший интерес к решениям масштабирования сети Bitcoin второго уровня, таких как Lightning Network (LN), но простой и понятной документации по установке и настройке LN я не нашел. Может по что использование LN в тестовой сети только для программистов и пользователей Linux, но на деле все не так сложно. Установка текущего LN-клиента для Windows на самом деле не сильно сложна, И может быть выполнена в течении 30 минут. Что меня приятно удивило.

Имейте в виду, в настоящее время поддерживается только тестовая сеть Bitcoin. Я обновлю инструкцию, когда LN можно будет использовать в основной цепи BTC :)

Десктопный клиент имеет простой пользовательский интерфейс (GUI) для взаимодействия с LND демоном, так же как Bitcoin Core или Bitcoin Knots (или любой другой кошелек Bitcoin для Windows) помогает взаимодействовать пользователю с bitcoin демоном (bitcoind). Далее будет показано, что Zap и Lightning-App показывают одну и ту же информацию, не смотря на разные интерфейсы.

Цели данного туториала:

  • Установка Lightning-App или Zap Desktop (наиболее продвинутые LN приложения)
  • Открытие платежного канала
  • Покупка виртуального кофе в Starblocks (starblocks.acinq.co)
  • Получение LN платежей

В этом туториале используется Windows 7. Если вы когда-либо получали или отправляли биткоин-транзакции, то ничего сложного здесь вы не найдете.

Часть 0: Установка (5-10 минут, легко)

ПРАВКА: если вы не хотите использовать программу Zap и хотите использовать только Lightning App desktop, можете загрузить архив с программой отсюда: https://github.com/lightninglabs/lightning-app/releases/download/v0.1.4-alpha/Lightning-win32-x64v0.1.4.zip Просто скачайте, извлеките и запустите “lightning.exe” и все должно заработать. Можете переходить сразу к Части 2.

Нам необходимо несколько программ для компиляции LN. Скомпилировать LN не так сложно

Скачиваем Node.js для Windows и устанавливаем: https://nodejs.org/en/download/

Скачиваем Git для Windows и устанавливаем его: https://git-scm.com/download/win

Скачиваем Yarn для Windows и запускаем инсталлятор: https://yarnpkg.com/lang/en/docs/install/#windows-tab

Качаем Windows Visual C++ Build Tools 2015 и тоже устанавливаем: http://landinghub.visualstudio.com/visual-cpp-build-tools

После установки всего, перезагружаем компьютер.

После перезагрузки, запускаем командную строку (Пуск →CMD.exe). Вводим node -v, и жмем Enter. Потом вводим git — version, и жмем Enter. Затем, вводим yarn -v, и жмем Enter. Если видим версии всех трех программ, можно продолжать

Убедились, что, git и yarn работают

Наконец, , устанавливаем python версии 2.7 by выполнив следующую команду: (double dashes are auto-formatted on medium.com, so make sure you type it out as you see below)

npm --add-python-to-path=’true’ --debug install --global windows-build-tool

Часть 1a: Установка Lightning-App (5 минут, все еще легко!)

Рекомендую устанавливать сначала Lightning-App, так как  LND демон установится автоматически. Это сократит нам объем работы при установки Zap.

Для начала, создайте папку где вам удобно. В этом примере я устанавливал сюда: C:\Users\Jad\Desktop\Tutorials\Lightning-App

Далее, щелкаем  CMD.exe, и запускаем от имени администратора, и переходим в созданную вами папку “cd C:\Your\Custom\Path” (можно скопировать и вставить в командную строку при помощи правой кнопки мыши)

Теперь когда мы находимся в нужной папке, нужно скачать все исходные файлы Lightning-App в эту папку. Делаем это при помощи команды “git clone https://github.com/lightninglabs/lightning-app.git” Будет скачано что-то около 189 MB. По выполнению увидим следующее:

Все файлы скачаны

Набираем “cd lightning-app”, и жмем Enter. Потом вводим команду “npm run setup”, и снова жмем Enter. Ждем 2–4 минуты до завершения процесса, потом вводим “npm run package-electron”, и жмем Enter. Теперь у нас есть отличный .exe файл, который мы и будем использовать в дальнейшем.

Сборка программы

Сборка .exe файла

Теперь запускаем и ждем пару минут, пока завершится установка. Если случатся какие-то непредвиденные ошибки - проверьте, чтобы командная строка была запущена с привилегиями администратора. Так же я столкнулся с проблемой, когда у меня была установлена Visual Studio Community 2015, и она вызывала конфликты, так что я её предварительно снес перед установкой Visual C++ Build Tools 2015. Если все завершится удачно, появится новая папка “release” в папке lightning-app со следующим содержимым:

Готовы к запуску!

После запуска видим следующее. Синхронизация занимает 5–10 минут и достаточно сделать это один раз:

You’ve done it!

Часть 1b: Установка Zap-Desktop App (опционально)

Установка Zap-Desktop гораздо проще, если вы установили Lightning-App. Лично мне интерфейс Zap понравился больше, чем интерфейс Lightning-App.

Как и до этого, запускаем CMD.exe от имени администратора и заходим в выбранную нами папку. Вводим “git clone https://github.com/LN-Zap/zap-desktop.git”, и жмем Enter:

Установка Zap-Desktop

Когда все скачается, вводим “cd zap-desktop”, и жмем Enter.

Потом вводим “yarn”, жмем Enter и ждем 1–5 минут до завершения команды.

Далее вводим “npm run install-grpc”, и ждем 1-5 минут до завершения команды.

Наконец, чтобы Zap-Desktop заработал, нам надо скопировать файл lnd.exe в папку resources/bin/win32. В моем случае, мне нужно скопировать файл LND.exe в папку C:\Users\Jad\Desktop\Tutorials\zap-desktop\resources\bin\win32. Чтобы найти lnd.exe, нужно ввести lnd в поиск Windows, скопировать и вставить файл. При чем, не имеет значения, какой из найденных:

Далее, создаем в папке zap-desktop файл “launch.bat”. Используя текстовый редактор, записываем в созданный файл следующие две строки:

cd %~dp0

npm run dev

Все готово для запуска! Щелкаем правой кнопкой launch.bat и запускаем от имени администратора:

Часть 2: Открытие платежного канала (меньше 5 минут, легко)

В продолжение данного туториала поиграем цифрами внутри приложения. Вам понадобится гораздо меньше технических знаний; однако, здесь вы обнаружите много багов, которые все еще есть в бета-версиях программ.

Для начала, нам нужны бесплатные тестнетовые биткоины. Найти адрес своего кошелька можно здесь:

Get your wallet’s address to receive testnet BTC as an on-chain tx

Теперь переходим сюда: https://testnet.manu.backend.hamburg/faucet и отправляем себе бесплатные монетки тестовой сети. Как только у транзакции будет 3 подтверждения, вы сможете использовать монеты тестовой сети для открытия платежного канала.

В этом примере мы откроем платежный канал с помощью  BitRefill.com. Здесь их прекрасный гайд! Если вы используете Zap, сначала кликните “Peers” в меню слева. Затем “Add new peer” и введите 0298d0c6987e2e64451c7f723e15aff4dfca92f0e3973d214e206257abb0d1dd55 в поле ввода публичного ключа ноды и  lnd.bitrefill.com в поле ввода имени хоста. В Lightning-App, просто вставьте строку 0298d0c6987e2e64451c7f723e15aff4dfca92f0e3973d214e206257abb0d1dd55@lnd.bitrefill.com после нажатия “create channel” во вкладке “channels”:

Создание платежного канала в Lightning-App

В Zap-app вы должны сначала добавить “bitrefill” в качестве пира, перед тем как создавать платежный канал. Во вкладке “peers”, жмем “Add new peer” и заполняем форму:

Теперь переходим в кладку каналов и создаем платежный канал с публичным ключем 0298[..]d55. Крутой фишкой Zap-desktop является то, что вы можете создавать двунаправленные каналы, так что вы можете иметь часть денег уже на другой стороне канала. Например, возможно, вы знаете, что будете вести бизнес с BitRefill какое-то время, и вы платите за что-то наперед, возможно, вы откроете канал с некоторым количеством BTC сразу на стороне BitRefill.

Теперь у вас должен быть открыт один платежный канал. Больше различных нод можно глянуть здесь https://explorer.acinq.co/#/

После трех подтверждений сетью канал откроется. Я также заметил, что каналы иногда активны, а иногда и неактивны. Канал  BitRefill остается активным. Я предполагаю, что это может означать, что другой узел должен оставаться в сети. Если у вас проблемы с подключением, проверьте, чтобы фаерволл не блокировал процесс lnd.exe, а так же проверьте порт 9735. Нужно было сделать это до того, как установить соединение.

Часть 3: Заплатим за виртуальный кофе

Идем сюда: https://starblocks.acinq.co/#/, добавляем любой кофе в корзину и подтверждаем покупку. Копируем выделенный текст:

Наш инвойс

Затем открываем наше LN-приложение и вставляем платежный запрос:

Оплачиваем! На данный момент маршрутизация платежей довольно плохая. Вы, скорее всего, получите ошибку типа “routing failed”. Если это случилось, попробуйте соединиться с большим числом каналов.

Когда LN работает, она работает мгновенно, и это довольно удивительно видеть!

Часть 4: Получаем платежи!

Наконец, протестируем возможность получать платежи. Создаем запрос платежа в одном из приложений. В Zap, после создания запроса, идем на страницу “wallet”, и щелкните по самому запросу:

Теперь, чтобы потренироваться в получении средств, открываем LN web-кошелек http://htlc.me/ и пробуем отправить себе деньги; или устанавливаем eclair testnet wallet на андроид-телефон, и отправляем себе деньгм. Еще одно забавное упражнение -  открытие платежного канала с кошелька eclair к десктопной ноде.

Полезные ссылки

Zap Slack : https://join.slack.com/t/zaphq/shared_invite/enQtMjc5Njg3NjU5MzMzLWE1M2RiNjYxNWEyMTRjMzhmZDIyNTQ0YTRjNDg4MWNiMzI1ODNlODhhMzE5ZWVmMGVkOWVkMTVmNzBhNDhiZjQ

A great Zap YouTube video by the founder: https://www.youtube.com/watch?time_continue=11&v=dhpg_8D2FPI

Lightning App Slack:

https://join.slack.com/t/lightningcommunity/shared_invite/MjI4OTg3MzQ4MjI2LTE1MDMxNzM1NTMtNjlmOGYzOTI1Ng

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT