LNbits – швейцарский нож среди лайтнинг-приложений | Инвойсы, чаевые, пейволлы, мониторинг ончейн-кошелька, продажа билетов на события…
Привет, с вами Тони и проект 21 идея и я продолжаю рубрику практических гидов по взаимодействию с сетью Молния. В этой серии материалов я рассказываю о самых интересных приложениях, взаимодействующих с Биткоином и сетью Лайтнинг, чтобы вы могли выбрать то, что вам нужно для улучшения опыта взаимодействия с самыми твердыми деньгами.
Почему я это делаю? Потому что я считаю сеть Лайтнинг невероятным изобретением, решающим целый ряд проблем, которые человечество не могло решить с самого момента зарождения интернета – молниеносные нецензурируемые дешевые платежи. Более того, сеть Молния – это не только платежная сеть… Об этом подробнее рассказывают эти два Телеграм-поста: [1], [2].
LNbits
Сегодня мы рассмотрим кошелек-приложение, доступный прямо из браузера, который может похвастаться таким количеством возможностей, что ему позавидует любое ПО. Это LNbits.
Стоит начать с того, что этот сервис еще находится в фазе активной разработки, а некоторый функционал еще предстоит внедрить. Самым ожидаемым нововведением на подходе является возможность входа в сервис через логин и пароль. Пока что LNbits представляет собой веб-страничку, для входа на которую нужно лишь ввести clearnet-адрес. Некоторым этот подход может показаться неприемлемым, но в этом видео мы рассмотрим подходы, которые полностью нивелируют какую-либо опасность. Тем не менее, стоит помнить, что это – не инструмент для долгосрочного хранения сбережений, а скорее прослойка, призванная облегчить взаимодействие с другими пользователями и сделать опыт каждого приятным и бесшовным.
Итак, начнем с перехода на официальный сайт LNbits – https://lnbits.com/. LNbits предлагает несколько подходов к использованию оболочки:
- Некастодиальный подход подразумевает запуск собственного узла и присодениения LNbits непосредственно к своей биткоин- и лайтнинг-ноде. Мы не будем разбираться в этом подходе – он довольно комплексный и требует дополнительного оборудования и выполнения сложных шагов. Помимо оборудования или аренды узла придется арендовать домен и настроить обратный ssh, что лежит далеко за рамками сегодняшнего гида. Этот подход будет интересен энтузиастам, любителям покопаться в сложных сетевых настройках и важен для владельцев частных бизнесов, желающих наладить стабильный поток сатов и раскрутить серьезный сервис, принимающий платежи в сетях Лайтнинг и Биткоин. Если вы хотите попробовать свои силы в этом начинании, но у вас нет оборудования для запуска собственного узал Молния, обратите внимание на сервис Voltage, где вы можете арендовать узел от $12 в месяц.
- Кастодиальный подход подразумевает настройку сервиса в несколько простых шагов и является лучшим вариантом для новичков. Более того, пара дополнительных простых действий помогут вам в итоге обрести полный контроль над собственными средствами. На нем мы и сконцентрируемся в этом гиде.
Итак, учитывая вышесказанное, выбераем опцию “Demo”, и оказываемся на страничке https://legend.lnbits.com/:
Здесь нам нужно указать желаемое название кошелька и нажать ADD A NEW WALLET. Вы также можете посетить страничку проекта на GitHub или поддержать создателей проекта донатом🍩.
Создадим кошелек “21ideas-guide” и подтвердим выбор. Нажатие на кнопку создания кошелька перенесет нас страничку нашего кошелька:
В поисковой строке высветится длинный адрес, начинающийся с https://legend.lnbits.com/wallet?usr=, за чем будет следовать длинная нить символов. Эту страничку стоит добавить в закладки в вашем браузере и, возможно, сохранить копию на еще одном носителе. Этот адрес – единственный способ открыть ваш кошелек. Не делитесь этим адресом ни с кем, кому не доверяете – любой, у кого есть этот адрес, сможет получить доступ ко всем средствам, хранящимся на этом вашем кошельке. Напомню, что разработчики сейчас трудятся над системой логина и чего-то наподобие личного кабинета. Но пока будем работать с тем, что имеем, а я расскажу как обезопасить свои средства с помощью встроенного в LNbits расширения чуть позже в этом гиде.
Вы можете создать любое угодное вам количество кошельков, и у каждого из них будет свой clearnet-адрес. Но сегодня мы будем работать с одним кошельком.
Итак, уже с этого экрана мы можем получить средства. С этого и начнем. Напомню, что LNbits – оболочка, основным приоритетом которой является взаимодействие с сетью Молния и по умолчанию будет подразумеваться именно эта сеть, а не основная сеть Биткоин.
Итак, чтобы пополнить кошелек мы можем вставить уже имеющийся LNURL на получение средств, создать инвойс либо отсканировать QR-код для их получения. При создании инвойса валютой по умолчанию будут саты, но вы можете выбрать любую фиатную валюту, например российский рубль.
Ну что ж, заполучив немного сат на счет / кошелек, можно переходить к интересным расширениям оболочки LNbits, ради чего мы, собственно, здесь и собрались.
Расширения LNbits
LNbits включает десятки расширений, созданных лайтнинг- и биткоин-энтузиастами. Они позволяют запускать краны, пейволлы, точки оффлайн-продаж (торговые терминалы), ссылки на оплату товаров и услуг, сбор оплаты за билеты на мероприятия, игры в кости, оплату услуг, предоставляемых вашим сервером, платный музыкальный автомат и многое, многое другое.
Чтобы открыть “магазин расширений” LNbits нужно нажать на кнопку Manage Extensions, расположенную в левой части экрана ниже вкладки вашего кошелька(ов):
Далее выберите интересующие вас расширения и добавьте их, нажав кнопку ENABLE. Расширения будут появляться на основной страничке кошелька в левой части экрана, прямо под списком ваших кошельков.
Расширяйте свой LNbits-сетап в любом направлении, и даже создавайте и распространяйте свои собственные расширения.
LNURLp
LNURL-pay – это стандарт, который позволяет создать статический QR-код, который может быть оплачен несколько раз. Подробнее о нем я рассказывал в этом Телеграм-посте. Я рекомендую ознакомиться с ним для лучшего понимания системы этого инструмента, но в этом гиде мы сконцентрируемся на практической части расширений. Итак, это расширение позволит вам создавать статичные QR-коды и, например, размещать их на своей страничке в интернете или распечатывать их и размещать в своем заведении, чтобы гости оставляли чаевые, используя сеть Молния. Но к чаевым мы вернемся чуть позже. Крутой фишкой LNURLp является возможность выставлять “гибкие” инвойсы, то есть отправитель может сам ввести желаемую сумму. От вас лишь требуется изначально указать подходящий интервал. Я не советую ставить нижнюю планку слишком низко и устанавливать ее хотя бы на 100 сатоши. Это поможет вам снизить вероятность попасть под DDoS атаку. С минимальным значением кто-то может заспамить вас оплатами инвойсво в 1 сатоши, нарушая работу сервера приема платежей. Разберем все опции, предлагаемые LNURLp:
В первую очередь для создания нового QR-кода нужно нажать NEW PAY LINK (1). Перед вами появится всплывающее окно, где вы сможете:
(2) выбрать кошелек, на который будут приходить саты
(3) добавить описание, отображаемое для отправителя перед оплатой
(4) убрав галочку создать гибкий инвойс, где пользователь будет выбирать сумму из заданного вами диапазона (5).
(6) выбрать отображаемую отправителю валюту (одну из фиатных валют или саты/BTC)
(7) установить лимит символов в сообщении, которое может приложить отправитель
(8) добавить веб-хук, например, чтобы получать оповещения на третьи серверы при получении платежа
(9) добавить сообщение, показываемое пользователю в случае успешной оплаты
(10) добавить ссылку, показываемую пользователю в случае успешной оплаты
Заполнив все желаемые поля (обязательными являются только 1,2 и 5), нажимаем CREATE PAY LINK (11)
В итоге при создании каждого нового LNURLp в этом расширении появляется строка с основными параметрами и опциями:
Отсюда вы можете:
- открыть веб-страничку LNURL
- открыть быстрый просмотр QR-кода
- отредактировать LNURL
- удалить LNURL
Вот так выглядит веб-страничка только что созданного нами LNURL:
А вот что видит пользователь, отсканировавший QR-код:
Ончейн-кошелек
Предназначением этого расширения я поделюсь чуть позже в этом гиде, пока же просто хочу показать как импортировать ончейн-кошелек в LNbits. Рассмотрим этот кейс на примере кошелька Blue Wallet.
- Создаем новый или открываем уже существующий ончейн-кошелек в Blue Wallet.
- Переходим в настройки кошелька и нажимаем Показать XPUB
- Копируем выданную кошельком строчку, начинающуюся с zpub / xpub / ypub
- Переходим в расширение Onchain Wallet
- Нажимаем Добавить аккаунт кошелька – ADD WALLET ACCOUNT
- Выбираем название и вставляем xpub в соответствующее поле.
Отображаемый LNbits кошелек является так называемым watch-only кошельком. Возможности LNbits ограничены предоставлением новых адресов для получения средств. Ни сервис, ни вы не сможете потратить биткоины на кошельке. Это возможно только из приложения, в котором вы создали кошелек, в данном примере – из Blue Wallet.
Чаевые
Tip Jar – удобный способ получать чаевые как через сеть Молния, так и ончейн-монетами. Для полноценной активации этого расширения мы и добавляли watch-only кошелек. Итак, если отправитель хочет воспользоваться сетью Лайтнинг для передачи средств, будет использован молниеносный кошелек LNbits, но если вам захотят отправить чаевые ончейн, то ваш импортированный watch-only кошелек будет генерировать адреса для получения донатов. Этот метод намного лучше в плане приватности, чем использование одного адреса, ведь переиспользование адресов является плохой практикой.
Для настройки этого расширения опять же нажимаем NEW TIPJAR (1) и выбираем желаемый Лайтнинг-кошелек (2). Если вы уже импортировали ончейн-кошелек, будет доступен пункт #3 – вы сможете поставить галочку в этом поле и выбрать тот ончейн-кошелек, который будет получать средства при отправке на цепочке (4). Далее нужно выбрать имя получателя, которое будет отображаться для отправителя при переходе по ссылке (5). Опять же есть возможность добавления веб-хука для настройки оповещений о получении средств (6). Готово, нажимаем CREATE TIPJAR (7).
Ссылка на веб-страничку, как и в остальных случаях, будет расположена в левой части созданной строки. Ее можно будет распространять в привычном виде или превратить в QR-код при помощи, например, сервиса qr-code-generator.org и сохранить в виде изображения на телефоне или распечатать в любом удобном формате.
При переходе по ссылке перед пользователем откроется следующая страничка:
Здесь отправитель может (по желанию) указать свое имя / ник. Во втором поле ему необходимо будет выбрать сумму к оплате. Третье поле позволяет прикрепить к платежу сообщение; это поле также не является обязательным к заполнению. Нажав SUBMIT пользователь попадет на страничку оплаты:
Над QR-кодом располагается переключатель лайтнинг (1) – ончейн (2). Отправитель может как отсканировать QR-код, так и скопировать инвойс (в случае использования сети Молния) или адрес (для ончейн-платежа), чтобы вставить их в свой кошелек. Средства, отправленные в сети Молния будут “оседать” в кошельке LNbits, а ончейн-транзакции будут попадать на импортированный вами кошелек, то есть вы будете сами владеть своими ключами и не будете вынуждены доверять третьим лицам. Далее я бы хотел показать вам следующее расширение, которое позволит вам получить больший контроль над своими сатошиками в сети Молния.
Scrub
Расширение Scrub автоматически “вычищает” все полученные на LNbits сатошики, отправляя их на Лайтнинг-кошелек вашего выбора. Это решение сложно переоценить, учитывая, что LNbits является браузерным кошельком, находящимся в процессе разработки. Возможность автоматизировать вывод средств в момент их зачисления лишает пользователей головной боли и переживаний за полученные средства, а также экономит их время.
Для создания скраба нажимаем NEW SCRUB LINK (1)...
Выбираем кошелек (2), добавляем описание скраба (3) и указываем LNURL кошелька-получателя или Lightning-адрес (4). Подробнее о Lightning-адресах можно узнать в этом Телеграм-посте. Если у вас запущен собственный Лайтнинг-узел, вы можете присоединить к нему, например, приложение Alby и таким образом автоматически отправлять сатошики на собственный узел и храня их некастодиальным образом. Для менее технически подкованных пользователей неплохой и удобной практикой будет создание нового кошелька в расширении Alby для вашего браузера и указание полученного вами адреса. В моем случае это 21ideas@getalby.com. Готово, нажимаем CREATE PAY LINK (5) и скраб готов.
Важно обратить внимание на две детали скрабов:
- На один кошелек можно создать только один скраб
- Если на кошельке нет средств, скраб не будет осуществлен – нужно иметь пару сат на кошельке для оплаты комиссии скраба/перевода.
В ближайшем будущем я планирую выпустить гид по некастодиальному Лайтнинг-кошельку Blixt, с помощью которого можно запустить собственный мобильный Лайтнинг-узел. Такой кошелек тоже можно подсоединить к LNbits, что по сути сделает вас кастодианом в сети. Не пропустите!
LndHub
Благодаря LndHub вы можете экспортировать свой кошелек LNbits в Blue Wallet для удобного его использования с приложения на телефоне. Вы можете использовать эту опцию как вместо, так и в дополнение к скрабам. Крутой фишкой LndHub является то, что он предоставляет 2 вида доступа к кошельку LNbits – что-то наподобие учетных записей администратора и пользователя.
В первую очередь выберите кошелек, доступ к которому вы хотите предоставить своему мобильному приложению Blue Wallet (1). Далее, сканируя QR-код (я закрыл их из соображений безопасности собственных средств) слева (2) вы предоставляете кошельку Blue Wallet права пользователя, то есть благодаря этому кошельку можно будет генерировать инвойсы, но не тратить средства. Код справа (3) предоставляет права администратора и возможность тратить средства с кошелька LNbits.
Такой подход может быть полезен, к примеру, владельцам небольших кофеен или баров. Вы как администратор можете получить полноценный доступ к кошельку и распечатать пользовательский доступ для официантов и барист, чтобы те могли генерировать инвойсы для взаимодействия с клиентами.
Events
Расширение Events позволяет продавать билеты на любого рода события – как онлайн-семинары и лекции, так и оффлайн-мероприятия, например андерграунд-выступления местных диджеев или приватный показ картин местных художников на крыше в старом городе.
Переходим в расширение Events и нажимаем NEW EVENT (1). Вводим название мероприятия (2), выбираем кошелек (3), добавляем описание (4), указываем дату, вплоть до которой будут продаваться билеты (5), а также даты начала (6) и окончания мероприятия (7). Далее указываем количество доступных билетов (8) и цену за билет (9). Нажимаем CREATE EVENT (10) и готово – наше мероприятие с 21 доступным билетом создано. Вы можете делиться ссылкой на ивент и получать оплату за вход в сатошиках через сеть Молния. Вот так выглядит страничка оплаты билета в браузере (слева) и после скана предложенного после предоставления данных кода (справа скриншот Blue Wallet):
С каждым купленным билетом вы увидите обновление статуса (1) распродажи (надо проскроллить виджет до конца вправо). Будет обновляться как количество оставшихся билетов (а), так и количество проданных (б).
Ниже будет представлено второе окно (2), отображающее количество купленных билетов и детали транзакций.
Paywall
Расширение Paywall позволяет “прятать” ваши материалы – будь то статьи, видео или любые другие ценные цифровые вещи – за платными стенами. Наподобие того, как Financial Times не дают вам прочитать статью до тех пор, пока вы не оформите подписку. Только здесь пользователи платят за отдельный материал, а не за месяц подписки вне зависимости от того, сколько статей они прочитают.
Нажимаем NEW PAYWALL (1), выбираем кошелек (2), указываем ссылку, на которую при оплате должен попасть отправитель (3). Указываем название (4) и описание (5) оплачиваемого материала, уточняем минимальную цену оплаты (6) – при желании отправитель может указать сумму выше указанной вами, оставив вам тем самым чаевые. Поставив галочку в поле Remember payments (7) вы отмечаете, что каждый пользователь, оплативший материал, может вновь переходить по указанной ссылке, не будучи обязанным вновь платить за переход.
Обратите внимание, как я (притворившись отправителем) указал сумму в 2200 сат при минимуме в 2100. Минимальная сумма оплаты автоматически высвечивается для отправителя:
После успешной оплаты инвойса отправителя перенаправляет на страничку со ссылкой на материал:
Boltz
Расширение Boltz позволяет проводить атомарные свопы сатошиков ончейн-оффчейн, то есть “отправлять” сатошики из сети Молния на основную цепочку Биткоин и обратно. Все, что от вас требуется – это выбрать направление свопа:
SWAP (IN) подразумевает отправку сатошиков из сети Молния (1), REVERSE SWAP (OUT) – наоборот (2). Кнопка CHECK SWAPS обновляет статус виджета. По мере проведения свопов на карточках ниже (4), (5) будут отображаться проведенные свопы.
Не забывайте, что если вы решили провести SWAP (OUT), важно отключить расширение Scrub, иначе отправляемые на LNbits Лайтнинг-саты будут по умолчанию перенаправлены далее на указанный кошелек-получатель.
Получив саты на кошелек LNbits нажимаем SWAP (OUT) и заполняем необходимые поля:
- Указываем кошелек, с которого LN-саты отправятся на ончейн-адрес
- Указываем сумму (от 50 тысяч до 10 миллионов сат)
- Указываем ончейн-адрес для получения сатошиков
- Подтверждаем своп, нажав кнопку CREATE REVERSE SWAP (OUT).
Инициированный своп сразу же отображается в истории:
Своп стоил окло 1,000 сат, что является очень неплохим результатом для суммы свыше $15.
LNURLw
Это расширение позволяет создавать QR-коды, сканируя которые, пользователи смогут получать саты (а не, как большинство привыкло, отправлять их). Это отличный способ познакомить новичков с сетью LN или отблагодарить своих подписчиков за обратную связь или, например, участие в опросе.
Открыв расширение мы видим 2 опции – QUICK VOUCHERS и ADVANCED WITHDRAW LINK(S). Первая опция позволит создать быстрый и простой ваучер, а вторая – более гибкие ваучеры с множеством переменных. Рассмотрим второй вариант:
Выбираем кошелек (1), название ссылки (2) минимальную (3) и максимальную (4) сумму, доступную к снятию, количество доступных “ваучеров” (5), задержку между выводами средств (6) – это не позволит пользователям быстро повторно снимать средства. Меню под номером (7) позволяет выбрать единицы ожидания – секунды / минуты / часы. Также можно добавить веб-хук (8). Поставив галочку в пункте (9) вы сможете добавить ссылку на собственный дизайн ваучера LNURLw. Галочка в (10) пункте остановит подписчиков от повторного снятия средств. Это достигается генерацией нового QR-кода для каждого получения. Заполнив все поля нажимаем CREATE WITHDRAW LINK (11), и ссылка готова. Пользователи, перешедшие по ссылке смогут отсканировать QR-код любым кошельком, поддерживающим LBURL и снять немного сат. Вот как это выглядит в кошельке Blue Wallet:
Другие функции LNbits
Помимо вышеперечисленных возможностей LNbits предлагает множество других, но они лежат вне рамок сегодняшнего гида в силу дополнительных требований, которые вряд ли по силам новичкам и рядовым пользователям. Тем не менее я их перечислю, чтобы дать вам общее представления о возможностях инструмента – возможно какие-то из них вас заинтересуют и вы решите провести собственное исследование или приобрести необходимое оборудование:
- Bleskomat. Это расширение позволяет подключить банкомат Bleskomat к кошельку LNbits. Требует дополнительного оборудования в виде небольшого банкомата. Подробности: https://www.bleskomat.com/.
- Bolt cards. Позволяет делать аналог кредитных / дебетовых карт с NFC, способных тратить сатошики. Требует специальные карты с поддержкой NFC для программирования (подойдут обычные карты, продающиеся на Ali Express).
- Cashu. Позволяет создавать монетные дворы и приватные токены на базе сатошиков в сети лайтнинг. Токенами можно пользоваться в закрытых сообществах или чатах.
- DJ Livestream. Позволяет проводить лайв-стримы, принимая оплату сатошиками.
- Lightning Address. Позволяет продавать лайтнинг адреса на собственном домене. Требует собственный домен и нуждается в настройке, требующей сноровку в web.
- Offline Shop. Позволяет вводить список товаров местного магазина и генерировать LNURL для каждого товара. Посетители могут оплачивать товары по мере снятия их с полки и показывать оплаченные чеки продавцу на выходе.
- Split Payments. Разделяйте платежи, приходящие на кошелек LNbits между несколькими пользователями.
- Spotify Jukebox. Создайте плейлист в Spotify и собирайте несколько сат со слушателей за каждую композицию.
- Subdomains. Продавайте сабдомены собственного домена (апример plebs.21ideas.org).
- User Management. Полезная опция для операторов LN-узлов. Вы можете создавать кошельки для своих менее технически подкованных друзей и близких. Таким образом они доверяют вам, а не незнакомому третьему лицу типа Blue Wallet или Wallet of Satoshi.
Ну что ж, похоже, этой информации на первое время будет более чем достаточно. В ближайшее время я планирую подготовить видеогид на эту тему, так что подписывайтесь на YouTube канал 21идея и жмакайте колокольчик😉.
Информация оказалась полезной? Все материалы проекта 21 идея распространяются бесплатно и проект нуждается в твоей поддержке!
Увидимся на той стороне кроличьей норы,
Тони.