name: Bitcoin и BTCPay Server goal: Установка BTCPay Server для вашего бизнеса objectives:
- Понять, что такое btcpayserver.
- Разместить и настроить BTCPay Server самостоятельно.
- Использовать btcpayserver в вашем ежедневном бизнесе.
Bitcoin и BTCPay Server
Это вводный курс по работе с BTCPay Server, написанный Алекосом и Басом, который был адаптирован в формат курса Plan ₿ мелонтвистом и asi0.
НЕЗАВЕРШЕННАЯ ИСТОРИЯ
"Это ложь, мое доверие к вам нарушено, я сделаю вас устаревшими".
Произведено Фондом BTCPay Server
Введение
Обзор курса
Добро пожаловать на курс POS 305 по BTCPay Server!
Цель этого курса — научить вас устанавливать, настраивать и использовать BTCPay Server в вашем бизнесе или организации. BTCPay Server — это решение с открытым исходным кодом, которое позволяет автономно, безопасно и экономично обрабатывать биткойн-платежи. Этот курс предназначен в первую очередь для продвинутых пользователей, которые хотят освоить самостоятельный хостинг BTCPay Server для его полной интеграции в их ежедневную деятельность.
Раздел 1: Введение в BTCPay Server
Мы начнем с общего представления о BTCPay Server, включая экран входа в систему,
управление учетными записями пользователей и создание нового магазина. Это введение
поможет вам понять интерфейс BTCPay Server и освоить основные функции, необходимые
для начала использования этого инструмента.
Раздел 2: Введение в безопасность биткойн-ключей
Безопасность ваших биткойн-средств очень важна. В этом разделе мы рассмотрим
генерацию криптографических ключей, использование аппаратных кошельков для их
защиты и способы взаимодействия с вашими ключами через BTCPay Server. Вы также
узнаете, как настроить BTCPay Server Lightning Wallet для оптимизации ваших транзакций.
Раздел 3: Интерфейс BTCPay Server
Эта часть проведет вас через интерфейс пользователя BTCPay Server. Вы научитесь
ориентироваться в панели управления, настраивать параметры магазина и сервера,
управлять платежами и использовать интегрированные плагины. Цель состоит в том,
чтобы познакомить вас с инструментами, необходимыми для настройки вашей установки
в соответствии с вашими потребностями.
Раздел 4: Настройка BTCPay Server
Наконец, мы сосредоточимся на практической установке BTCPay Server в различных
средах. Независимо от того, используете ли вы LunaNode, Voltage или узел Umbrel,
вы узнаете основные шаги для развертывания и настройки вашего BTCPay Server с
учетом особенностей каждой среды.
Готовы освоить BTCPay Server и развивать свой бизнес? Вперёд!
Критические отзывы об авторе Bitcoin и BTCPay Server
Давайте начнем с того, что такое BTCPay Server и откуда он взялся. Мы ценим прозрачность и определенные стандарты для формирования доверия в сфере Bitcoin. Один из проектов в этой сфере нарушил эти ценности. Ведущий разработчик BTCPay Server, Николас Дорье, воспринял это лично и пообещал сделать их устаревшими. Вот мы много лет спустя и каждый день работаем над этим будущим, будучи полностью открытым исходным кодом.
Это ложь, мое доверие к вам нарушено, я сделаю вас устаревшими. Николас Дорье
После слов Николаса пришло время начать строительство. Много работы было вложено в то, что мы теперь называем BTCPay Server. Больше людей хотели помочь с этим движением. Самые узнаваемые из них - r0ckstardev, MrKukks, Pavlenex и первый торговец, использовавший программное обеспечение, astupidmoose.
Что значит открытый исходный код и что входит в такой проект?
FOSS означает свободное и открытое программное обеспечение. Первое относится к условиям, которые позволяют любому копировать, изменять и даже распространять версии (даже с целью получения прибыли) программного обеспечения. Второе относится к открытому обмену исходным кодом, поощряя общественность вносить свой вклад и улучшать его. Это привлекает опытных пользователей, энтузиастов вносить свой вклад в программное обеспечение, которым они уже пользуются и извлекают из него пользу, что со временем доказывает свое преимущество в адаптации по сравнению с проприетарным программным обеспечением. Это соответствует этике Bitcoin, согласно которой "информация стремится быть свободной". Это объединяет страстных людей, которые формируют сообщество и это просто более весело. Как и Bitcoin, FOSS неизбежен.
Прежде чем мы начнем
Этот курс состоит из нескольких частей. Многими из них будет заниматься ваш учитель в классе, демонстрационные среды, к которым вы получите доступ, хостинг сервера для вас и, возможно, доменное имя. Если вы проходите этот курс самостоятельно, пожалуйста, имейте в виду, что среды, помеченные как DEMO, не будут доступны для вас. Примечание. Если вы следуете этому курсу в классе, имена серверов могут отличаться в зависимости от настройки вашего класса. Переменные в именах серверов могут отличаться из-за этого.
Структура курса
Каждая глава имеет цели и оценки знаний. В этом курсе мы рассмотрим каждую из них и представим сводку ключевых функций в каждом учебном блоке (т.е. главе). Иллюстрации представлены для обеспечения визуальной обратной связи и укрепления ключевых концепций в визуальном аспекте. Цели устанавливаются в начале каждого учебного блока. Эти цели выходят за рамки простого списка задач. Они предоставляют вам руководство к новому набору навыков. Оценки знаний постепенно усложняют настройку вашего BTCPay Server.
Что получают студенты с курсом?
С курсом BTCPay Server студент сможет понять основные принципы Bitcoin, как технические, так и нетехнические. Обширное обучение использованию Bitcoin через BTCPay Server позволит студентам управлять собственной инфраструктурой Bitcoin.
Важные веб-адреса или возможности для связи
Фонд BTCPay Server, который позволил Алекосу и Басу написать этот курс, находится в Токио, Япония. С фондом BTCPay Server можно связаться через веб-сайт:
- https://foundation.btcpayserver.org
- присоединяйтесь к официальным чат-каналам: https://chat.btcpayserver.org
Введение в Bitcoin
Понимание Bitcoin через классные упражнения
Это классное упражнение, так что если вы проходите этот курс самостоятельно, вы не сможете его выполнить, но вы все равно можете пройти через это упражнение. Для выполнения этой задачи минимальное количество людей - от 9 до 11.
Упражнение начинается после просмотра введения "Как работают Bitcoin и блокчейн" от BBC.
Для участия в этом упражнении требуется как минимум девять человек. Цель этого упражнения - физически понять, как работает Bitcoin. Играя каждую роль в сети, вы получите интерактивный и игровой способ обучения. Это упражнение не включает Lightning Network.
Пример; Требуется 9 / 11 человек
Роли:
- 1 Покупатель
- 1 Продавец
- 7 до 9 узлов Bitcoin
Настройка следующая:
Покупатель покупает товар в магазине за Bitcoin.
Сценарий 1 - Традиционная банковская система
- Настройка:
- Смотрите диаграммы/объяснения в приложенном Figjam - Схема деятельности.
- Получите трех студентов-добровольцев для игры в роли Покупателя (Алисы), Продавца (Боба) и Банка.
- Последовательность действий:
- Покупатель- просматривает магазин онлайн и находит товар за 25 долларов, который хочет купить, и сообщает Продавцу, что хотел бы совершить покупку
- Продавец- просит оплату.
- Покупатель- отправляет информацию о карте Продавцу
- Продавец- пересылает информацию в Банк (идентифицируя как свою, так и информацию/личность) с запросом на оплату
- Банк собирает информацию о Покупателе и Продавце (Алисе и Бобе) и проверяет, достаточно ли средств на счету покупателя.
- Снимает 25 долларов с счета Алисы, добавляет 24 доллара на счет Боба, берет 1 доллар за услугу
- Продавец получает подтверждение от Банка и отправляет товар покупателю.
- Комментарии:
- У Боба и Алисы должны быть отношения с банком.
- Банк собирает идентифицирующую информацию о Бобе и Алисе.
- Банк берет комиссию.
- Банку необходимо доверять в вопросе хранения денег каждого участника все время.
Сценарий 2 - Система Bitcoin
- Настройка:
- Смотрите диаграммы/объяснения в приложенном Figjam - Схема деятельности.
- Замените банк на девять студентов, которые будут играть роль Компьютера (Узлы/Майнеры Биткойна) в сети для замены банка.
- Каждый из 9 Компьютеров имеет полную историческую запись всех прошлых
транзакций (таким образом, точные балансы без подделок), а также набор
правил:
- Проверить, что транзакция правильно подписана (ключ подходит к замку)
- Передавать и получать действительные транзакции участникам сети, отбрасывать недействительные (включая те, которые пытаются потратить те же средства дважды)
- Периодически обновлять/добавлять записи с новыми транзакциями, полученными
от "случайного" компьютера, при условии, что все содержимое действительно
(примечание: мы пока игнорируем компонент Доказательства Работы во всем
этом для упрощения), в противном случае отклонять эти и продолжать как
прежде до следующего "случайного" компьютера, отправляющего обновление
- Надлежащая сумма была вознаграждена, если содержимое было действительным.
- Изобразите последовательность событий:
- Покупатель- просматривает магазин онлайн и находит товар за 25 долларов, который хочет приобрести, и сообщает Продавцу, что хотел бы совершить покупку
- Продавец- просит оплату, отправляя покупателю счет/адрес из своего кошелька.
- Покупатель- создает транзакцию (отправляет BTC на сумму 25 долларов на адрес, предоставленный Продавцом) и транслирует ее в сеть Биткойн.
- Компьютеры- получают транзакцию и проверяют:
- На отправляемом адресе есть как минимум BTC на сумму 25 долларов
- Транзакция правильно подписана («открыта» покупателем)
- Если это не так, транзакция не будет распространяться по сети, а если так, то она распространяется и ожидает.
- Продавцы могут проверить, что транзакция находится в ожидании.
- Один компьютер "случайным" образом выбирается для предложения завершить
предложенную транзакцию, транслируя "блок", содержащий ее; если все
проверено, они получат вознаграждение в BTC.
- ДОПОЛНИТЕЛЬНО/ПРОДВИНУТО - вместо случайного выбора Компьютера, симулируйте майнинг, позволяя Компьютерам бросать кости до тех пор, пока не произойдет некий предопределенный исход (например, первый, кто выбросит двойку, выбирается)
- Также можно изобразить, что произойдет, если два Компьютера выиграют примерно одновременно, что приведет к разделению цепочки.
- Компьютеры проверяют действительность, обновляют/добавляют записи в свои регистры, если правила соблюдены, и транслируют блок участникам.
- Случайно выбранный компьютер получает вознаграждение за предложение действительного блока.
- Продавец проверяет, что транзакция была завершена; таким образом, средства были получены, и товар был отправлен покупателю.
- Комментарии:
- Обратите внимание, что не было необходимости в предварительных банковских отношениях.
- Не требуется третья сторона для содействия; заменено кодом/стимулами.
- Сбор данных кем-либо вне прямого обмена отсутствует, и между участниками должно обмениваться только необходимое количество информации (например, адрес доставки).
- Между людьми не требуется доверие (кроме как Продавец отправляет товар), подобно покупке за наличные во многих отношениях.
- Деньги принадлежат непосредственно физическим лицам.
- В учетной записи Биткойна суммы показаны в долларах для упрощения, но на самом деле это BTC.
- Мы симулируем трансляцию одной транзакции, но на самом деле в сети ожидают множество транзакций, и блоки включают тысячи транзакций одновременно. Узлы также проверяют, нет ли ожидающих транзакций двойной траты (в этом случае я бы отбросил все, кроме одной).
- Сценарии обмана:
- Что, если у покупателя не было бы BTC на сумму 25 долларов?
- Они не смогли бы создать транзакцию, потому что «разблокировка» и «владение» являются одним и тем же, и компьютеры проверяют, правильно ли подписана транзакция; в противном случае они отклоняют ее.
- Что, если у покупателя не было бы BTC на сумму 25 долларов?
- Что если случайно выбранный компьютер попытается "изменить регистр"? -
Блок будет отклонен, поскольку каждый другой компьютер имеет полную
историю и заметит изменение, нарушая одно из их правил.
- Случайный компьютер не получит вознаграждение, и никакие транзакции из их блока не будут завершены.
Оценка знаний
Обсуждение в классе KA
Обсудите некоторые упрощения, сделанные на занятии в рамках второго сценария, и опишите, что на самом деле делает система Bitcoin более подробно.
Повторение словаря KA
Определите следующие ключевые термины, введенные в предыдущем разделе:
- Узел
- Mempool
- Целевая сложность
- Блок
Обсудите значение некоторых дополнительных терминов в группе:
Blockchain, Транзакция, Двойная трат, Проблема византийских генералов, Майнинг, Доказательство работы (PoW), Хеш-функция, Вознаграждение за блок, Blockchain, Самая длинная цепочка, Атака 51%, Вывод, Блокировка вывода, Сдача, Сатоши, Публичный/Приватный ключ, Адрес, Криптография с открытым ключом, Цифровая подпись, Кошелек
Введение в BTCPay Server
Понимание экрана входа в BTCPay Server
Работа с BTCPay Server
Цель этого блока курса - получить общее представление о программном обеспечении BTCPay Server. В общей среде рекомендуется следовать демонстрации инструктора и следовать вместе с учебником BTCPay Server, чтобы следовать за учителем. Вы узнаете, как создать кошелек несколькими методами. Примеры включают настройки горячего кошелька и аппаратные кошельки, подключенные через BTCPay Server Vault. Эти задачи выполняются в демонстрационной среде, отображаемой и предоставляемой доступом вашим инструктором курса.
Если вы следуете этому курсу самостоятельно, вы можете найти список сторонних хостов для демонстрационных целей на https://directory.btcpayserver.org/filter/hosts. Мы настоятельно советуем не использовать эти сторонние варианты как производственные среды, но они служат правильными целями для введения в использование Bitcoin и BTCPay Server.
Как стажер-звезда BTCPay Server, у вас мог быть предыдущий опыт настройки узла Bitcoin. Этот курс будет специально адаптирован к программному стеку BTCPay Server.
Многие опции в BTCPay Server существуют в той или иной форме в другом программном обеспечении, связанном с Bitcoin кошельками.
Экран входа в BTCPay Server
Когда вы входите в демонстрационную среду, вас просят «Войти» или «Создать аккаунт». Администраторы сервера могут отключить функцию создания новых аккаунтов по соображениям безопасности. Логотипы и цвета кнопок BTCPay Server могут быть изменены, поскольку BTCPay Server - это программное обеспечение с открытым исходным кодом. Сторонний хост может использовать White-label для программного обеспечения и изменить весь внешний вид.
Окно создания аккаунта
Для создания аккаунтов на BTCPay Server требуются действительные строки адресов электронной почты; example@email.com будет действительной строкой для электронной почты.
Пароль должен быть не менее 8 символов длиной, включая буквы, цифры и
символы. После установки пароля один раз, вам нужно будет проверить
введенный пароль, чтобы убедиться, что он верен тому, что был введен в
первом поле для пароля. Когда поля "Email" и "Password" заполнены корректно,
нажмите кнопку "Create Account". Это сохранит Email и пароль на экземпляре
BTCPay Server инструктора. 
!Внимание!
Если вы проходите этот курс самостоятельно, создание этого аккаунта может быть выполнено на стороннем хосте; поэтому мы снова упоминаем, что никогда не следует использовать эти среды для производственных целей, а только для обучения.
Создание аккаунта администратором BTCPay Server
Администратор экземпляра BTCPay Server также может создавать аккаунты для BTCPay Server. Администратор экземпляра BTCPay Server может нажать на "Server Settings" (1), перейти на вкладку "Users" (2) и нажать кнопку "+ Add User" (3) в верхней правой части вкладки Users. В разделе (4.3) вы узнаете больше о контроле администратора над аккаунтами.
Как администратор, вам потребуется Email адрес пользователя и установка стандартного пароля. Рекомендуется администратору информировать пользователя о необходимости изменить этот пароль перед использованием аккаунта по соображениям безопасности. Если администратор НЕ установит пароль и на сервере настроен SMTP, пользователь получит письмо с пригласительной ссылкой для создания своего аккаунта и установки пароля самостоятельно.
Пример
Следуя инструкциям инструктора, перейдите по предоставленной инструктором ссылке и создайте свой аккаунт в демонстрационной среде. Убедитесь, что ваш Email адрес и пароль сохранены в надежном месте; эти данные для входа вам понадобятся для выполнения остальных демонстрационных заданий в этом курсе.
Ваш инструктор мог заранее собрать Email адреса и отправить пригласительную ссылку перед этим упражнением. Если вам сказали, проверьте свой Email.
Проходя курс без инструктора, создайте свой аккаунт, используя демонстрационную среду BTCPay Server; перейдите на
https://mainnet.demo.btcpayserver.org/login.
Этот аккаунт следует использовать только для демонстрационных/обучающих целей и никогда для бизнеса.
Сводка навыков
В этом разделе вы узнали следующее:
- Как создать аккаунт на хостинговом сервере через интерфейс.
- Как администратор сервера может вручную добавлять пользователей в настройках сервера.
Оценка знаний
Концептуальный обзор
Приведите причины, почему использование Демо Сервера является плохой идеей для производственных целей.
Управление учетной записью(ями)
Управление аккаунтом на BTCPay Server
После создания аккаунта владельцем магазина, его можно управлять в нижнем левом углу интерфейса BTCPay Server. Под кнопкой Account находятся настройки более высокого уровня.
- Темный/Светлый режим.
- Переключатель "Скрыть конфиденциальную информацию".
- Управление аккаунтом.
Темный и Светлый режим
Пользователи BTCPay Server могут выбирать между Темным или Светлым режимом интерфейса. Страницы, обращенные к клиенту, не изменятся. Они используют настройки предпочтений клиента относительно темного или светлого режима.
Переключатель "Скрыть конфиденциальную информацию"
Кнопка "Скрыть конфиденциальную информацию" добавляет простой и быстрый слой безопасности. Когда вам нужно работать с вашим BTCPay Server, но в общественном месте могут быть люди, заглядывающие вам через плечо, включите "Скрыть конфиденциальную информацию", и все значения в BTCPay Server будут скрыты. Кто-то может заглядывать вам через плечо, но больше не сможет видеть значения, с которыми вы работаете.
Управление аккаунтом
После создания учетной записи пользователя здесь можно управлять паролями, двухфакторной аутентификацией или API ключами.
Управление аккаунтом - Аккаунт
При необходимости обновите ваш аккаунт, указав другой адрес электронной почты. Чтобы убедиться, что адрес электронной почты указан верно, BTCPay Server позволяет отправить проверочное письмо. Нажмите сохранить, если пользователь установил новый адрес электронной почты и подтвердил, что верификация прошла успешно. Имя пользователя остается таким же, как и предыдущий адрес электронной почты.
Пользователь может решить удалить свой аккаунт полностью. Это можно сделать, нажав кнопку удаления на вкладке Аккаунт.
!Внимание!
После смены адреса электронной почты имя пользователя для аккаунта не изменится. Предыдущий указанный адрес электронной почты останется именем для входа.
Управление аккаунтом - Пароль
Студент может захотеть изменить свой пароль. Он может сделать это, перейдя на вкладку Пароль. Здесь ему необходимо ввести свой старый пароль и может изменить его на новый.
Двухфакторная аутентификация (2FA)
Чтобы ограничить последствия утери пароля, вы можете использовать двухфакторную аутентификацию (2FA), относительно новый метод безопасности. Вы можете активировать двухфакторную аутентификацию через управление аккаунтом и вкладку двухфакторной аутентификации. После входа в систему с использованием вашего имени пользователя и пароля вам необходимо будет выполнить второй шаг.
BTCPay Server позволяет включить 2FA двумя способами: через приложения (Authy, Google, Microsoft Authenticator) или через устройства безопасности (FIDO2 или LNURL Auth).
Двухфакторная аутентификация - на основе приложения
В зависимости от операционной системы вашего мобильного телефона (Android или iOS), пользователи могут выбрать следующие приложения:
- Скачайте приложение для двухфакторной аутентификации;
- После скачивания и установки приложения Authenticator.
- Отсканируйте QR-код, предоставленный BTCPay Server
- Или введите сгенерированный ключ от BTCPay Server вручную в ваше приложение Authenticator.
- Приложение Authenticator предоставит вам уникальный код. Введите уникальный код в BTCPay Server для верификации настройки и нажмите проверить, чтобы завершить процесс.
Сводка навыков
В этом разделе вы узнали следующее:
- Варианты управления аккаунтом и различные способы управления аккаунтом на экземпляре BTCPay Server.
- Как настроить двухфакторную аутентификацию на основе приложения.
Оценка знаний
Концептуальный обзор KA
Опишите, как двухфакторная аутентификация на основе приложения помогает защитить ваш аккаунт
Создание нового магазина
Мастер создания магазина
Когда новый пользователь входит в BTCPay Server, среда пуста и требует
создания первого магазина. Мастер введения BTCPay Server предложит
пользователю опцию "Создать ваш магазин" (1). Магазин можно рассматривать
как Дом для ваших потребностей в Bitcoin. Новый узел BTCPay Server начнет с
Синхронизации блокчейна Bitcoin (2). В зависимости от инфраструктуры, на
которой работает BTCPay Server, это может занять от нескольких часов до
нескольких дней. Текущая версия экземпляра отображается в правом нижнем углу
интерфейса BTCPay Server. Это полезно для справки при устранении неполадок. 
Мастер создания магазина
Следуя этому курсу, вы начнете с немного другого экрана, чем на предыдущей странице. Поскольку ваш инструктор подготовил демо-среду, блокчейн Bitcoin был синхронизирован заранее, и поэтому вы не увидите статус синхронизации узлов.
Пользователь может решить удалить свой аккаунт полностью. Это можно сделать, нажав кнопку удаления на вкладке Аккаунт.
!Внимание!
Аккаунты BTCPay Server могут создавать неограниченное количество магазинов. Каждый магазин - это кошелек или "дом".
Пример
Начните с нажатия на "Создать ваш магазин".
Это создаст ваш первый Дом и панель управления для использования BTCPay Server.
(1) После нажатия "Создать ваш магазин", BTCPay Server потребует от вас назвать магазин; это может быть что угодно, что будет вам полезно.
(2) Далее необходимо установить валюту магазина по умолчанию, будь то фиатная валюта или деноминация в стандарте Bitcoin / Sats. Для демо-среды мы установим ее как USD.
(3) Как последний параметр настройки магазина, BTCPay Server требует установить "Предпочтительный источник цен" для сравнения цены Bitcoin с текущей фиатной ценой, чтобы ваш магазин отображал правильный обменный курс между Bitcoin и установленной фиатной валютой магазина. Мы остановимся на выборе по умолчанию в демо-примере и установим его как биржу Kraken. BTCPay Server использует API Kraken для проверки обменных курсов.
(4) Теперь, когда эти параметры магазина установлены, нажмите на кнопку Создать, и BTCPay Server создаст панель управления вашего первого магазина, где мастер продолжит работу.
Поздравляем, вы создали свой первый магазин, и это завершает это упражнение.
Сводка навыков
В этом разделе вы узнали:
- Создание магазина и настройка валюты по умолчанию в сочетании с предпочтениями источника цен.
- Каждый "Магазин" - это новый дом, отделенный от других магазинов в этой установке BTCPay Server.
Введение в защиту ключей Bitcoin
Понимание генерации ключей Bitcoin
Что включает в себя генерация ключей bitcoin?
Когда создается кошелек Bitcoin, он создает так называемое "семя". В
последней цели вы создали "семя", Серия слов, сгенерированных ранее, также
известна как мнемонические фразы. Семя используется для вывода отдельных
ключей Bitcoin и используется для отправки или получения Bitcoin.
Фразы-семена никогда не должны делиться с третьими сторонами или ненадежными
участниками. Генерация сидов (seed generation) выполняется в соответствии со
стандартом индустрии, известным как "Иерархически Детерминированный"
(Hierarchical Deterministic, HD) фреймворк. 
Адреса
BTCPay Server создан для генерации нового Адреса. Это решает проблему повторного использования публичного ключа или Адреса. Использование одного и того же Публичного ключа значительно упрощает отслеживание всей вашей истории платежей. Восприятие ключей как ваучеров однократного использования значительно улучшит вашу конфиденциальность. Мы также используем Биткойн Адреса, не путайте их с Публичными ключами.
Адрес получается из Публичного ключа с помощью "хэширующего алгоритма".
Однако большинство кошельков и транзакций будут отображать Адреса, а не эти
публичные ключи. Адреса, как правило, короче публичных ключей и обычно
начинаются с 1, 3 или bc1, в то время
как публичные ключи начинаются с 02, 03 или 04.
Адреса, начинающиеся с
1....., по-прежнему очень распространены. Как упоминалось в главе Создание нового магазина, это устаревшие адреса. Этот тип адреса предназначен для транзакций P2PKH. P2Pkh использует кодировку Base58, что делает адрес чувствительным к регистру. Его структура основана на публичном ключе с дополнительной цифрой в качестве идентификатора.Адреса, начинающиеся с
bc1..., постепенно становятся очень распространенными. Они известны как (нативные) SegWit Адреса. Они предлагают лучшую структуру комиссий, чем другие упомянутые Адреса. Нативные SegWit Адреса используют кодировку Bech32 и допускают только строчные буквы.Адреса, начинающиеся с
3..., обычно все еще используются биржами для адресов депозитов. Эти адреса упоминаются в главе Создание нового магазина, как обернутые или вложенные SegWit адреса. Однако они также могут функционировать как "Мультиподписные Адреса". Когда используются как SegWit адреса, они также позволяют экономить на комиссиях за транзакции, хотя и меньше, чем Нативные SegWit. Адреса P2SH используют кодировку Base58. Это делает их чувствительными к регистру, как и устаревшие адреса.Адреса, начинающиеся с
2..., являются адресами Testnet. Они предназначены для получения биткойнов в тестовой сети (tBTC). Никогда не путайте это и не отправляйте Биткойн на эти адреса. Для целей разработки вы можете создать кошелек для тестовой сети. В интернете есть множество кранов для получения биткойнов в тестовой сети. Никогда не покупайте Биткойн для тестовой сети. Биткойн для тестовой сети добывается. Это может быть причиной для разработчика использовать Regtest вместо этого. Это среда-песочница для разработчиков, в которой отсутствуют некоторые компоненты сети. Однако Биткойн, используемый в целях разработки, очень полезен.
Публичные Ключи
Публичные ключи на практике сегодня используются реже. Со временем пользователи биткойна стали заменять их Адресами. Однако они все еще существуют и иногда используются. Публичные ключи, как правило, гораздо длиннее адресов. Как и в случае с адресами, они начинаются с определенного идентификатора.
Во-первых,
02...и03...являются очень стандартными идентификаторами публичных ключей, закодированными в формате SEC. Их можно обработать и превратить в адреса для получения, использовать для создания мультиподписных адресов или для проверки подписи. Транзакции Биткойна в первые дни использовали публичные ключи как часть транзакций P2PK.Однако кошельки HD используют другую структуру.
xpub...,ypub...илиzpub...называются расширенными публичными ключами, или xpubs. Эти ключи используются для генерации множества публичных ключей, поскольку они являются частью кошелька HD. Поскольку ваш xpub содержит записи о всей вашей истории, то есть о прошлых и будущих транзакциях, никогда не делитесь этими данными с ненадежными сторонами.
Сводка Навыков
В этом разделе вы узнали следующее:
- Различия между адресами и типами данных открытых ключей, а также преимущества использования адресов вместо открытых ключей.
Оценка знаний
Опишите преимущество использования новых адресов для каждой транзакции по сравнению с повторным использованием адресов или методами открытых ключей.
Защита ключей с помощью аппаратного кошелька
Хранение ключей Bitcoin
После генерации сид-фразы, список из 12 - 24 слов, сгенерированных в этой книге, требует надлежащего резервного копирования и защиты, поскольку эти слова являются единственным способом восстановления доступа к кошельку. Структура HD-кошельков и как она детерминированно генерирует адреса, используя эту одну сид-фразу, все ваши созданные адреса будут резервироваться с использованием этого одного списка мнемонических слов, представляющих вашу сид-фразу или фразу восстановления.
Храните вашу фразу восстановления в безопасности. Если к ней получит доступ кто-то, особенно с злым умыслом, он может переместить ваши средства. Хранение сид-фразы в безопасности и одновременное её помнить взаимосвязаны. Существует несколько методов хранения приватных ключей Bitcoin, каждый из которых имеет преимущества и недостатки, будь то в безопасности, конфиденциальности, удобстве использования или физических средствах. Из-за важности приватных ключей пользователи Bitcoin склонны хранить и надежно защищать эти ключи в "самохранении" вместо использования "опекунских" услуг, таких как банки. В зависимости от пользователя, он должен использовать либо решение для холодного хранения, либо горячий кошелек.
Горячее и холодное хранение ключей Bitcoin
Обычно биткойн-кошельки классифицируются как Горячий Кошелек или Холодный Кошелек. Большинство компромиссов заключается в удобстве использования, простоте и рисках безопасности. Каждый из этих методов также может быть использован в опекунском решении. Однако здесь компромиссы в основном основаны на безопасности и конфиденциальности и выходят за рамки этого курса.
Горячий кошелек
Горячие кошельки - это самый удобный способ взаимодействия с Bitcoin через мобильные, веб- или настольные программы. Кошелек всегда подключен к интернету, что позволяет пользователям отправлять или получать Bitcoin. Однако это также является его слабостью, так как кошелек всегда онлайн, он теперь более уязвим для атак хакеров или вредоносного ПО на вашем устройстве. В BTCPay Server горячие кошельки хранят приватные ключи на экземпляре. Любой, кто получит доступ к вашему магазину BTCPay Server, может украсть средства с этого адреса, если он злонамерен. Когда BTCPay Server работает в арендованной среде, вы всегда должны учитывать это в своем профиле безопасности и предпочтительно не использовать Горячий кошелек в таком случае. Когда BTCPay Server установлен на собственном оборудовании, защищенном и доверенном вами, профиль риска значительно снижается, но он никогда не исчезает!
Холодный кошелек
Люди переводят свои Bitcoin в холодный кошелек, потому что это позволяет изолировать приватные ключи от интернета. Удаление интернет-соединения из уравнения снижает риск вредоносного ПО, шпионских программ и SIM-свопов. Считается, что холодное хранение превосходит горячее по безопасности и автономии, при условии принятия адекватных мер предосторожности для предотвращения потери приватных ключей Bitcoin. Холодное хранение наиболее подходит для больших сумм Bitcoin, которые не предполагается часто тратить из-за сложности настройки кошелька.
Существует несколько методов хранения ключей Bitcoin в холодном хранении, от бумажных кошельков до мозговых кошельков, аппаратных кошельков или, с самого начала, файла кошелька. Большинство кошельков используют BIP 39 для генерации сид-фразы. Однако в программном обеспечении Bitcoin Core до сих пор не достигнуто консенсуса по его использованию. Программное обеспечение Bitcoin Core все еще будет генерировать файл Wallet.dat, который вам нужно будет хранить в безопасном офлайн-месте.
Резюме навыков
В этом разделе вы узнали:
- Различия между горячими и холодными кошельками с точки зрения функциональности и их компромиссов.
Концептуальный обзор оценки знаний
Что такое кошелек?
В чем разница между горячими и холодными кошельками?
Опишите, что подразумевается под "генерацией кошелька"?
Использование ваших ключей Bitcoin
Кошелек BTCPay Server
BTCPay Server включает в себя следующие стандартные функции кошелька:
- Транзакции
- Отправка
- Получение
- Повторное сканирование
- Пулл-платежи
- Выплаты
- PSBT
- Общие настройки
Транзакции
Администраторы могут видеть входящие и исходящие транзакции для кошелька, подключенного к этому конкретному магазину, в представлении транзакций. Каждая транзакция имеет различие между полученными и отправленными. Полученные будут зелеными, а исходящие транзакции будут красными. В представлении транзакций BTCPay Server администраторы также увидят набор стандартных меток.
| Тип транзакции | Описание |
|---|---|
| App | Платеж был получен через созданный в приложении счет |
| invoice | Платеж был получен через счет |
| payjoin | Не оплачено, таймер счета еще не истек |
| payjoin-exposed | UTXO был раскрыт через предложение payjoin в счете |
| payment-request | Платеж был получен через запрос на платеж |
| payout | Платеж был отправлен через выплату или возврат |
Как отправить
Функция отправки сервера BTCPay отправляет транзакции из вашего кошелька BTCPay Server на цепочке. BTCPay Server позволяет подписывать ваши транзакции для расходования средств несколькими способами. Транзакция может быть подписана с помощью:
- Аппаратный кошелек
- Кошельки, поддерживающие PSBT
- HD приватный ключ или восстановительные семена.
- Горячий кошелек
Аппаратный кошелек
BTCPay Server имеет встроенную поддержку аппаратных кошельков, позволяя вам использовать ваш аппаратный кошелек с BTCPay Vault без утечки информации в сторонние приложения или серверы. Интеграция аппаратного кошелька в BTCPay Server позволяет вам импортировать ваш аппаратный кошелек и расходовать входящие средства с простым подтверждением на вашем устройстве. Ваши приватные ключи никогда не покидают устройство, и все средства проверяются против вашего полного узла, так что нет утечки данных.
Подписание с помощью кошелька, поддерживающего PSBT
PSBT (Partially Signed Bitcoin Transactions - Частично подписанные биткойн-транзакции) - это формат обмена для биткойн-транзакций, которые еще необходимо полностью подписать. PSBT поддерживается в BTCPay Server и может быть подписан совместимыми аппаратными и программными кошельками.
Конструкция полностью подписанной биткойн-транзакции проходит следующие шаги:
- PSBT конструируется с конкретными входами и выходами, но без подписей
- Экспортированный PSBT может быть импортирован кошельком, поддерживающим этот формат
- Данные транзакции могут быть проверены и подписаны с использованием кошелька
- Подписанный файл PSBT экспортируется из кошелька и импортируется в BTCPay Server
- BTCPay Server производит окончательную биткойн-транзакцию
- Вы проверяете результат и транслируете его в сеть
Подписание с HD приватным ключом или мнемоническим семенем
Если вы создали кошелек до использования BTCPay Server, вы можете расходовать средства, вводя ваш приватный ключ в соответствующее поле. Установите правильный "AccountKeyPath" в настройках кошелька; иначе, вы не сможете расходовать средства.
Подписание с помощью горячего кошелька
Если вы создали новый кошелек при настройке вашего магазина и активировали его как горячий кошелек, он будет автоматически использовать семена, хранящиеся на сервере, для подписи.
RBF (Replace-By-Fee)
Replace-By-Fee (RBF) — это функция протокола Bitcoin, которая позволяет вам заменить ранее отправленную транзакцию (пока еще не подтвержденную). Это позволяет случайным образом изменять "отпечаток" транзакции вашего кошелька или заменять его на транзакцию с более высокой комиссией, чтобы повысить ее приоритет в очереди на подтверждение (майнинг). Это эффективно заменит оригинальную транзакцию, поскольку транзакция с более высокой комиссией будет иметь приоритет, и после подтверждения аннулирует оригинальную (без двойной траты). Нажмите кнопку "Расширенные настройки", чтобы просмотреть опции RBF;
- Случайная замена для большей конфиденциальности, позволяет автоматически заменять транзакцию для случайного изменения "отпечатка" транзакции.
- Да, Отметить транзакцию для RBF и заменить явно (Не заменяется по умолчанию, только по вводу)
- Нет, Не разрешать замену транзакции.
Выбор монет
Выбор монет — это продвинутая функция, повышающая конфиденциальность, которая позволяет вам выбирать монеты, которые вы хотите потратить при создании транзакции. Например, оплата монетами, полученными недавно из смешивания.
Выбор монет работает нативно с функцией меток кошелька. Это позволяет вам маркировать входящие средства для более плавного управления UTXO и расходования.
BTCPay Server также поддерживает BIP-329 для управления метками. BIP-329 позволяет добавлять метки; если вы переводите с кошелька, поддерживающего этот конкретный BIP и устанавливаете метки, BTCPay Server распознает их и импортирует. При миграции серверов эта информация также может быть экспортирована и импортирована в новую среду.
Как получить
Когда вы нажимаете на кнопку получения в BTCPay Server, генерируется неиспользованный адрес, который можно использовать для получения платежей. Администраторы также могут генерировать новый адрес, создавая новый "Счет".
BTCPay Server всегда просит сгенерировать следующий доступный адрес, чтобы избежать повторного использования адреса. После нажатия "Сгенерировать следующий доступный BTC адрес", BTCPay Server создал новый адрес и QR. Также вы можете сразу установить Метку для адреса для лучшего управления вашими адресами.
Повторное сканирование
Функция повторного сканирования основана на "Scantxoutset" Bitcoin Core 0.17.0 для сканирования текущего состояния блокчейна (называемого набором UTXO) на предмет монет, принадлежащих настроенной схеме производных. Повторное сканирование кошелька решает две проблемы, с которыми сталкиваются пользователи BTCPay Server.
- Проблема лимита пропуска - Большинство сторонних кошельков являются легкими кошельками, которые используют один узел на многих пользователей. Легкие и полагающиеся на полные узлы кошельки ограничивают количество (обычно 20) адресов без баланса, которые они отслеживают в блокчейне, чтобы предотвратить проблемы с производительностью. BTCPay Server генерирует новый адрес для каждого счета. Учитывая вышеизложенное, после того как BTCPay Server генерирует 20 последовательных неоплаченных счетов, внешний кошелек прекращает получение транзакций, предполагая, что новых транзакций не произошло. Ваш внешний кошелек не покажет их, как только счета будут оплачены на 21-й, 22-й и т. д. С другой стороны, внутренне кошелек BTCPay Server отслеживает любой генерируемый им адрес вместе с гораздо большим лимитом пропуска. Он не зависит от сторонних сервисов и всегда может показывать корректный баланс.
- Решение проблемы с лимитом гэпов - Если ваш внешний/существующий кошелек позволяет настраивать лимит гэпов, простое решение - увеличить его. Однако большинство кошельков такую возможность не предоставляют. Единственные кошельки, позволяющие настраивать лимит гэпов, о которых нам известно, - это Electrum, Wasabi и Sparrow Wallet. К сожалению, с многими другими кошельками вы, скорее всего, столкнетесь с проблемой. Для лучшего пользовательского опыта и конфиденциальности рассмотрите возможность отказа от внешних кошельков и использования внутреннего кошелька BTCPay Server.
BTCPay Server использует “mempoolfullrbf=1”
BTCPay Server использует “mempoolfullrbf=1”; мы добавили это как настройку по умолчанию для вашей установки BTCPay Server. Однако мы также сделали это фрагментом, который вы можете отключить самостоятельно. Без “mempoolfullrbf=1”, если клиент осуществляет двойную трату платежа с транзакцией, не сигнализирующей о RBF, продавец узнает об этом только после подтверждения.
Администратор может захотеть отказаться от этой настройки. Следующей строкой вы можете изменить установленное по умолчанию значение.
BTCPAYGEN_EXCLUDE_FRAGMENTS="$BTCPAYGEN_EXCLUDE_FRAGMENTS;opt-mempoolfullrbf"
. btcpay-setup.sh -i**
Настройки кошелька BTCPay Server
Настройки кошелька в BTCPay Server дают четкое и быстрое представление о общих настройках вашего кошелька. Все эти настройки предварительно заполнены, если кошелек был создан с помощью BTCPay Server.
Настройки кошелька в BTCPay Server дают четкое и быстрое представление о общих настройках вашего кошелька. Настройки кошелька BTCPay Server начинаются со статуса кошелька. Является ли он кошельком только для просмотра или горячим кошельком? В зависимости от типа кошелька, действия могут варьироваться от повторного сканирования кошелька на предмет пропущенных транзакций, удаления старых транзакций из истории, регистрации кошелька для платежных ссылок или замены и удаления текущего кошелька, прикрепленного к магазину. В настройках кошелька BTCPay Server администраторы могут установить метку для кошелька для лучшего управления им. Здесь администратор также сможет увидеть схему производных, ключ учетной записи (xpub), отпечаток и путь ключа. Платежи в настройках кошелька имеют только 2 основные настройки. Платеж считается недействительным, если транзакция не подтверждается в течение (установленных минут) после истечения срока действия счета. Считать счет подтвержденным, когда платежная транзакция имеет X количество подтверждений. Администраторы также могут установить переключатель для отображения рекомендуемых комиссий при платежах или установить вручную цель подтверждения в количестве блоков.
!Внимание!
Если вы проходите этот курс самостоятельно, создание этого аккаунта может быть чем-то, что вы могли бы сделать на стороннем хосте, поэтому мы снова упоминаем, что никогда не следует использовать их в производственных средах, а только для целей обучения.
Пример
Настройка Bitcoin кошелька в BTCPay Server
BTCPay Server позволяет два способа настройки кошелька. Один из способов - импорт уже существующего Bitcoin кошелька. Импорт можно выполнить, подключив аппаратный кошелек, импортировав файл кошелька, введя расширенный публичный ключ, отсканировав QR-код кошелька или, наименее предпочтительно, введя вручную ранее созданный сид восстановления кошелька. В BTCPay Server также возможно создать новый кошелек. Существует два возможных способа настройки BTCPay Server при генерации нового кошелька. Опция горячего кошелька в BTCPay Server позволяет использовать функции, такие как 'Payjoin' или 'Liquid'. Однако есть недостаток: восстановительная фраза, созданная для этого кошелька, будет храниться на сервере, откуда любой, кто имеет контроль Админа, может получить доступ к восстановительной фразе. Поскольку ваш приватный ключ производится из вашей восстановительной фразы, злоумышленник может получить доступ к вашим текущим и будущим средствам! Чтобы снизить такой риск в BTCPay Server, Админ может установить в настройках сервера > Политики > "Разрешить неадминам создавать горячие кошельки для их магазинов" в значение нет, как это установлено по умолчанию. Для повышения безопасности этих горячих кошельков администратор сервера должен включить двухфакторную аутентификацию для аккаунтов, которым разрешено иметь горячие кошельки. Хранение приватных ключей на публичном сервере опасно и сопряжено с рисками. Некоторые из них аналогичны рискам Сети Молний (см. следующую главу о рисках Сети Молний).
Второй вариант, который предлагает BTCPay Server для создания нового кошелька, - это создание кошелька только для просмотра. BTCPay Server сгенерирует ваши приватные ключи один раз. После того как пользователь подтвердит, что он записал свою фразу-сид, BTCPay Server удалит приватные ключи с сервера. В результате ваш магазин теперь имеет кошелек только для просмотра, подключенный к нему. Чтобы потратить полученные на ваш кошелек только для просмотра средства, см. главу Как отправить, используя либо BTCPay Server Vault, PSBT (частично подписанная биткойн-транзакция), или, что наименее рекомендуется, вручную предоставляя вашу фразу-сид.
Вы создали новый 'Магазин' в последней части. Мастер установки продолжит работу, предложив "Настроить кошелек" или "Настроить узел Lightning". В этом примере вы будете следовать процессу мастера "Настроить кошелек" (1).
После нажатия "Настроить кошелек", мастер продолжит работу, запрашивая, как вы хотите продолжить; BTCPay Server теперь предлагает опцию подключения существующего биткойн-кошелька к вашему новому магазину. Если у вас нет кошелька, BTCPay Server предлагает создать новый. В этом примере будут следовать шаги для "создания нового кошелька" (2). Следуйте шагам, чтобы узнать, как "Подключить существующий кошелек" (1).
!Примечание!
Если вы проходите этот курс в классе, текущий пример и сгенерированная нами фраза-сид предназначены только для образовательных целей. На этих адресах никогда не должно быть никаких значительных сумм, кроме необходимых в течение упражнений.
(1) Продолжите мастер "Новый кошелек", нажав на кнопку "Создать новый кошелек".
(2) После нажатия "Создать новый кошелек" следующее окно мастера предложит опции "Горячий кошелек" и "Кошелек только для просмотра". Если вы следуете инструкциям преподавателя, ваша среда - это общая демонстрация, и вы можете создать только кошелек только для просмотра. Обратите внимание на разницу между обеими фигурами ниже. Поскольку вы находитесь в демо-среде и следуете инструкциям преподавателя, создайте "Кошелек только для просмотра" и продолжите с мастером "Новый кошелек".
(3) Продолжая мастер нового кошелька, вы теперь находитесь в разделе Создание BTC кошелька только для просмотра. Здесь мы можем установить тип адреса кошелька "Address type", который позволяет BTCPay Server выбрать предпочтительный тип адреса; на момент написания этого курса все еще рекомендуется использовать адреса bech32. Узнайте подробнее о адресах в первой главе этой части.
- Segwit (bech32)
- Native SegWit - это адреса, которые начинаются с
bc1q. - Пример:bc1qXXXXXXXXXXXXXXXXXXXXXX - Legacy
- Адреса Legacy начинаются с цифры
1. - Пример:
15e15hXXXXXXXXXXXXXXXXXXXX
- Адреса Legacy начинаются с цифры
- Taproot (Для опытных пользователей)
- Адреса Taproot начинаются с
bc1p. - Пример:
bc1pXXXXXXXXXXXXXXXXXXXXXXXX
- Адреса Taproot начинаются с
- Обернутый Segwit
- Адреса обернутого Segwit начинаются с
3. - Пример:
37BBXXXXXXXXXXXXXXX
- Адреса обернутого Segwit начинаются с
Выберите segwit (рекомендуется) как предпочтительный тип адреса вашего кошелька.
(4) При настройке параметров кошелька, BTCPay Server позволяет пользователям установить необязательную фразу-пароль через BIP39, обязательно подтвердите ваш пароль.
(5) После настройки типа адреса кошелька и, возможно, установки некоторых дополнительных опций, нажмите Создать, и BTCPay Server сгенерирует ваш новый кошелек. Обратите внимание, что это последний шаг перед генерацией вашей фразы-семени. Убедитесь, что вы делаете это в окружении, где никто не сможет украсть фразу-семя, глядя на ваш экран.
(6) На следующем экране мастера BTCPay Server показывает вам фразу-семя для восстановления вашего вновь созданного кошелька; это ключи для восстановления вашего кошелька и подписания транзакций. BTCPay Server генерирует фразу-семя из 12 слов. Эти слова будут удалены с сервера после этого этапа настройки. Этот кошелек является исключительно кошельком только для просмотра. Рекомендуется не хранить эту фразу-семя в цифровом виде или в виде фотографического изображения. Пользователи могут продолжить работу в мастере только после того, как активно подтвердят, что они записали свою фразу-семя.
(7) После нажатия на Готово и обеспечения безопасности вновь сгенерированной фразы-семени Bitcoin, BTCPay Server обновит ваш магазин с прикрепленным новым кошельком и будет готов к приему платежей. В пользовательском интерфейсе, в левом навигационном меню, обратите внимание, как Bitcoin теперь выделен и активирован в разделе Кошелек.
Пример: Запись фразы-семени
Это очень особенный и безопасный момент для использования Bitcoin. Как было сказано ранее, только вы должны иметь доступ или знания о вашей фразе-семени. Следуя инструкциям инструктора и класса, сгенерированная фраза должна использоваться только в рамках этого курса. Слишком много факторов, таких как любопытные глаза одноклассников, незащищенные системы и многие другие, делают эти ключи исключительно образовательными и ненадежными. Однако сгенерированные ключи все же следует хранить для примеров курса.
Первый метод, который мы будем использовать в данной ситуации, также самый менее безопасный, - это запись фразы-семени в правильном порядке. Карточка для записи фразы-семени находится в учебных материалах, предоставленных студенту или найденных на GitHub BTCPay Server. Мы будем использовать эту карточку для записи слов, сгенерированных на предыдущем шаге. Убедитесь, что вы записываете их в правильном порядке. После того как вы их записали, сверьте их с тем, что было дано программным обеспечением, чтобы убедиться, что вы записали их в правильном порядке. После того как вы их записали, отметьте флажок, подтверждающий, что вы правильно записали вашу фразу-семени.
Пример: Хранение фразы-семени на аппаратном кошельке
В этом курсе мы касаемся хранения фразы-семени на аппаратном кошельке. Следование этому курсу под руководством инструктора может не всегда включать такое устройство. В материалах курса написан список аппаратных кошельков, которые подходят для этого упражнения. Мы будем использовать хранилище BTCPay Server и аппаратный кошелек Blockstream Jade в этом примере. Вы также можете следовать инструкциям по видео для справки о подключении аппаратного кошелька. :::video id=8e61664b-e0c0-416d-8ef9-b631bf28ec4d:::
Скачать хранилище BTCPay Server: https://github.com/btcpayserver/BTCPayServer.Vault/releases
Убедитесь, что вы скачали правильные файлы для вашей системы. Пользователи Windows должны скачать пакет BTCPayServerVault-2.0.5-setup.exe, пользователи Mac скачивают BTCPayServerVault-osx-x64-2.0.5.dmg, а пользователи Linux должны скачать BTCPayServerVault-Linux-2.0.5.tar.gz
После установки хранилища BTCPay Server запустите программное обеспечение, кликнув по иконке на вашем рабочем столе. Когда хранилище BTCPay Server установлено правильно и запущено в первый раз, оно запросит разрешение на использование с веб-приложениями. Оно попросит предоставить доступ к конкретному BTCPay Server, с которым вы работаете. Примите эти условия. Хранилище BTCPay Server теперь начнет поиск аппаратного устройства. Как только устройство будет найдено, BTCPay Server распознает, что хранилище работает и получило данные вашего устройства.
!Внимание!
Не передавайте ваши SSH ключи или учетную запись администратора сервера никому, кроме администраторов, при использовании горячего кошелька. Любой, у кого есть доступ к этим учетным записям, будет иметь доступ к средствам в горячем кошельке.
Сводка навыков
В этом разделе вы узнали следующее:
- Представление транзакций биткойн-кошелька и его различные категоризации.
- Различные варианты отправки из биткойн-кошелька, от аппаратных до горячих кошельков.
- Проблема лимита промежутков, с которой сталкиваются при использовании большинства кошельков, и как это исправить.
- Как сгенерировать новый биткойн-кошелек в BTCPay Server, включая сохранение ключей в аппаратном кошельке и резервное копирование фразы восстановления.
В этой цели вы узнали, как сгенерировать новый биткойн-кошелек в BTCPay Server. Мы еще не рассмотрели, как защитить или использовать эти ключи. В кратком обзоре этой цели вы узнали, как настроить первый магазин. Вы узнали, как сгенерировать фразу восстановления биткойн-кошелька.
Практический обзор оценки знаний
Опишите метод генерации ключей и схему их защиты, а также компромиссы/риски данной схемы безопасности.
BTCPay Server Lightning Wallet
Когда администратор сервера настраивает новый экземпляр BTCPay Server, он может установить реализацию сети Lightning, LND, Core Lightning или Eclair; смотрите раздел Конфигурирование BTCPay Server для более подробных инструкций по установке. Если за процессом следует класс, подключение узла Lightning к вашему серверу BTCPay осуществляется через пользовательский узел. Пользователь, который не является администратором сервера на BTCPay Server, по умолчанию не сможет использовать внутренний узел Lightning. Это сделано для защиты владельца сервера от потери его средств. Администраторы серверов могут установить плагин, чтобы предоставить доступ к своему узлу Lightning через LNBank; это выходит за рамки данной книги; подробнее о LNBank читайте на официальной странице плагина.
Подключение внутреннего узла (администратор сервера)
Администратор сервера может использовать внутренний узел Lightning сервера BTCPay. Независимо от реализации Lightning, подключение к внутреннему узлу Lightning происходит одинаково.
Перейдите в ранее настроенный магазин и нажмите на "Lightning" кошелек в левом меню. Сервер BTCPay предлагает две возможности настройки: использование внутреннего узла (только для администратора сервера по умолчанию) или пользовательского узла (внешнее подключение). Администраторы серверов могут нажать на опцию "Использовать внутренний узел". Дополнительная настройка не требуется. Нажмите кнопку "сохранить" и обратите внимание на уведомление, гласящее: "BTC Lightning узел обновлен". Теперь магазин успешно получил возможности сети Lightning.
Подключение внешнего узла (пользователь сервера/владелец магазина)
Поскольку владельцам магазинов по умолчанию не разрешено использовать узел Lightning администратора сервера. Необходимо выполнить подключение к внешнему узлу, будь то узел, принадлежащий владельцу магазина до настройки сервера BTCPay, плагин LNBank, если он предоставлен администратором сервера, или решение хранения данных, например, Alby.
Перейдите в ранее настроенный магазин и нажмите "Lightning" под кошельками в левом меню. Поскольку владельцам магазинов по умолчанию не разрешено использовать внутренний узел, этот вариант будет неактивен. Использование пользовательского узла - единственный вариант, доступный владельцам магазинов по умолчанию.
Серверу BTCPay необходима информация для подключения; предварительно созданный узел (или решение для хранения данных) предоставит эту информацию, специфичную для реализации Lightning. В сервере BTCPay владельцы магазинов могут использовать следующие подключения:
- C-lightning через TCP или Unix domain socket connection.
- Lightning Charge через HTTPS
- Eclair через HTTPS
- LND через REST proxy
- LNDhub через REST API
Нажмите "проверить соединение", чтобы убедиться, что вы правильно ввели данные для подключения. После подтверждения успешного соединения нажмите сохранить, и BTCPay Server покажет, что магазин обновлен с узлом Lightning.
Управление внутренним узлом Lightning LND (администратор сервера)
После подключения внутреннего узла Lightning администраторы серверов заметят новые плитки на панели управления, специально для информации о Lightning.
- Баланс Lightning
- BTC в каналах
- BTC открывающие каналы
- BTC локальный баланс
- BTC удаленный баланс
- BTC закрывающие каналы
- BTC в блокчейне
- BTC подтвержденные
- BTC неподтвержденные
- BTC зарезервированные
- Сервисы Lightning
- Ride the Lightning (RTL).
Нажав либо на логотип Ride the Lightning в плитке "Сервисы Lightning", либо на "Lightning" под кошельками в левом меню, администраторы серверов могут перейти к RTL для управления узлом Lightning.
Внимание!
Если подключение внутреннего узла Lightning не удается - Если внутреннее подключение не удается, убедитесь:
- Что узел Bitcoin в блокчейне полностью синхронизирован
- Что внутренний узел Lightning "Включен" в разделе "Lightning" > "Настройки" > "Настройки BTC Lightning" Если вы не можете подключиться к вашему Lightning-узлу, попробуйте перезагрузить сервер или прочитайте дополнительные сведения в официальной документации BTCPay Server; https://docs.btcpayserver.org/Troubleshooting/ . Вы не сможете принимать платежи в Lightning в вашем магазине, пока ваш Lightning-узел не будет отображаться как "Онлайн". Попробуйте проверить свое соединение с Lightning, нажав на ссылку "Public Node Info".
Кошелек Lightning
В опции кошелька Lightning на левой панели меню администраторы сервера найдут удобный доступ к RTL, их Public node Info и специфическим настройкам Lightning для их магазина BTCPay Server.
Внутренняя информация об узле
Администраторы сервера могут нажать на внутреннюю информацию об узле и посмотреть статус своего сервера (Онлайн/Оффлайн) и строку подключения для Clearnet или Tor.
Изменение подключения
Если владелец магазина решит использовать изменения в настройках Lightning - Изменить подключение. Рядом с информацией о Public Node владельцы магазинов найдут эту опцию. Это вернет к первоначальной настройке для внешнего подключения к узлу Lightning, нужно заполнить новую информацию об узле Lightning, нажать сохранить и обновить магазин новой информацией об узле.
Сервисы
Если администратор сервера решит установить несколько сервисов для реализации Lightning, они будут перечислены здесь. Со стандартной реализацией LND администраторы будут иметь Ride The Lightning (RTL) как стандартный инструмент для управления узлом.
Настройки кошелька BTC Lightning
После добавления узла Lightning в магазин на предыдущем шаге, в настройках кошелька Lightning владельцы магазинов все еще могут выбрать деактивацию его для своего магазина, используя переключатель в верхней части настроек Lightning.
Опции платежа Lightning
Владельцы магазинов могут установить параметры для следующего, чтобы улучшить опыт использования Lightning для своих клиентов.
- Отображение сумм платежей Lightning в сатоши.
- Добавление подсказок для приватных каналов к счету Lightning.
- Объединение URL/QR-кодов платежей в цепочке и Lightning при оформлении заказа.
- Установка шаблона описания для счетов Lightning.
LNURL
Владельцы магазинов могут выбрать использование или неиспользование LNURL. URL сети Lightning, или LNURL, является предложенным стандартом для взаимодействий между плательщиком и получателем в сети Lightning. Короче говоря, LNURL - это bech32-кодированный URL, начинающийся с lnurl. От кошелька Lightning ожидается, что он декодирует URL, связывается с URL и ожидает объект JSON с дальнейшими инструкциями, в частности, с тегом, определяющим поведение knurl.
- Включить LNURL
- Классический режим LNURL
- Для совместимости кошельков, Bech32-кодированный (классический) против простого текстового URL (предстоящий)
- Разрешить получателю передавать комментарий.
Пример 1
Подключение к Lightning с внутренним узлом (Администратор)
Этот вариант доступен только если вы являетесь Администратором этого экземпляра или если Администратор изменил настройки по умолчанию, позволяющие пользователям использовать внутренний узел Lightning.
Как администратор, нажмите на Кошелек Lightning в левой панели меню. BTCPay Server предложит использовать один из двух вариантов для подключения узла Lightning: внутренний узел или настраиваемый внешний узел. Нажмите на использование внутреннего узла и сохраните.
Управление вашим узлом Lightning (RTL)
После подключения к внутреннему узлу Lightning, BTCPay Server обновится и покажет уведомление "BTC Lightning node updated", подтверждая, что вы теперь подключили Lightning к вашему магазину.
Управление узлом Lightning - задача для Администратора сервера. Это включает в себя:
- Управление транзакциями
- Управление ликвидностью
- Входящая ликвидность
- Исходящая ликвидность
- Управление пирами и каналами
- Подключенные пиры
- Комиссии за каналы
- Статус каналов
- Регулярное создание резервных копий состояний каналов.
- Проверка отчетов о маршрутизации.
- В качестве альтернативы можно использовать такие сервисы, как Loop.
Управление узлом Lightning выполняется стандартно с помощью RTL (предполагается, что вы используете реализацию LND). Администраторы могут нажать на свой Lightning кошелек в BTCPay Server и найти кнопку для открытия RTL. Главная панель управления BTCPay Server теперь обновлена с плитками Lightning Network, включая быстрый доступ к RTL.
Пример 2
Подключение к Lightning с помощью Alby
При подключении с кастодиальным сервисом, таким как Alby, владельцам магазинов сначала следует создать аккаунт, посетив: https://getalby.com/
После создания аккаунта Alby перейдите в ваш магазин на BTCPay Server.
Шаг 1: Нажмите "Настроить узел Lightning" на панели управления или "Lightning" под кошельками.
Шаг 2: Введите данные для подключения кошелька, предоставленные Alby. На панели управления Alby нажмите на Кошелек. Здесь вы найдете "Данные для подключения кошелька". Скопируйте эти данные. Вставьте данные от Alby в поле конфигурации подключения на сервере BTCPay.
Шаг 3: После предоставления BTCPay Server деталей подключения, нажмите кнопку "Тестировать подключение", чтобы убедиться, что подключение работает правильно. Обратите внимание на сообщение "Подключение к узлу lightning успешно" в верхней части экрана. Это подтверждает, что все работает как надо.
Шаг 4: Нажмите сохранить, и ваш магазин теперь подключен к узлу lightning от Alby.
!Внимание!
Никогда не доверяйте кастодиальному решению Lightning больше, чем вы готовы потерять.
Резюме навыков
В этом разделе вы узнали:
- Как подключить внутренний или внешний узел Lightning
- Содержание и функции различных плиток, связанных с Lightning, на панели управления
- Как настроить кошелек Lightning с использованием Voltage Surge или Alby
Практический обзор оценки знаний
Опишите некоторые из различных вариантов подключения кошелька Lightning к вашему магазину.
Интерфейс BTCPay Server
Обзор панели управления
BTCPay Server - это модульный программный пакет. Однако существуют стандарты, которым соответствует каждый BTCPay Server, и с которыми взаимодействуют администраторы/пользователи. Начиная с панели управления. Основная точка входа в каждый BTCPay Server после входа в систему. Панель управления дает обзор того, как ваш магазин работает, текущий баланс кошелька и последние транзакции за последние 7 дней. Поскольку это модульный вид, плагины могут использовать этот вид для своих целей и создавать свои плитки на панели управления. В этом учебном пособии мы будем говорить только о стандартных плагинах/приложениях и их соответствующих видах в BTCPay Server.
Плитки панели управления
В основном виде панели управления BTCPay Server доступно несколько стандартных плиток. Эти плитки предназначены для того, чтобы владелец магазина или администратор мог быстро управлять своим магазином в одном обзоре.
- Баланс кошелька
- Активность транзакций
- Баланс Lightning (если Lightning включен в магазине)
- Сервисы Lightning (если Lightning включен в магазине)
- Недавние транзакции.
- Недавние счета
- Текущие активные краудфандинги
- Производительность магазина / самые продаваемые товары. Плитка "Баланс
кошелька" предоставляет быстрый обзор средств и производительности вашего
кошелька. Ее можно просмотреть в BTC или в фиатной валюте на графике за
неделю, месяц или год.

Активность транзакций
Рядом с плиткой "Баланс кошелька", BTCPay Server показывает краткий обзор ожидающих выплат, количество транзакций за последние 7 дней, и были ли в вашем магазине совершены возвраты. Нажатие на кнопку "Управление" переводит вас в управление ожидающими выплатами (узнайте больше о выплатах в BTCPay Server - глава "Платежи").
Баланс Lightning
Отображается только при активации Lightning.
Когда администратор предоставил доступ к сети Lightning, на панели управления BTCPay Server теперь есть новая плитка с информацией о вашем узле Lightning. Сколько BTC находится в каналах, как это сбалансировано локально или удаленно (входящая или исходящая ликвидность), закрываются ли каналы или открываются, и сколько биткоинов хранится на узле Lightning в блокчейне.
Сервисы Lightning
Отображается только при активном Lightning.
Помимо просмотра вашего баланса Lightning на панели управления BTCPay Server, администраторы также увидят плитку для Сервисов Lightning. Здесь администраторы могут найти быстрые кнопки для инструментов, которые они используют для управления своим узлом Lightning; например, Ride the Lightning является одним из стандартных инструментов с BTCPay Server для управления узлом Lightning.
Недавние транзакции
Плитка недавних транзакций покажет самые последние транзакции вашего магазина. Одним кликом администратор экземпляра BTCPay Server теперь может увидеть последнюю транзакцию и проверить, требуется ли внимание к ней.
Недавние счета
Плитка недавних счетов показывает 6 последних счетов, выставленных вашим BTCPay Server, включая статус и сумму счета. Плитка также включает кнопку "Просмотреть все" для легкого доступа к полному обзору счетов.
Точка продаж и Краудфандинг
Поскольку BTCPay Server предоставляет набор стандартных плагинов или приложений, Точка продаж и Краудфандинг являются двумя основными плагинами BTCPay Server. С каждым магазином и кошельком пользователь BTCPay Server может создавать столько Точек продаж или Краудфандингов, сколько он считает нужным. Каждый из них создаст новую плитку на панели управления, показывающую производительность плагинов.
Обратите внимание на небольшое различие между плиткой Точки продаж и Краудфандинга. Администратор видит самые продаваемые товары в плитке Точки продаж. В плитке Краудфандинга это становится Топовыми привилегиями. Обе плитки имеют быстрые кнопки для управления соответствующим приложением и просмотра недавних счетов, созданных за счет топовых товаров или привилегий.
!?Примечание!?
Графики баланса и недавние транзакции доступны только для метода оплаты через блокчейн. Информация о балансах и транзакциях в сети Lightning находится в разработке. Начиная с версии BTCPay Server 1.6.0, доступны базовые балансы сети Lightning.
Сводка навыков
В этом разделе вы узнали следующее:
- Основное расположение плиток на главной странице, известной как Панель управления.
- Базовое понимание содержания каждой плитки.
Обзор оценки знаний
Перечислите столько плиток с Панели управления, сколько сможете вспомнить.
BTCPay Server - Настройки магазина
В программном обеспечении BTCPay Server мы знаем о двух типах настроек. Специфические настройки магазина BTCPay Server, кнопка настроек, найденная в левом меню ниже Dashboard, и настройки BTCPay Server, найденные в нижней части меню выше Account. Специфические настройки сервера BTCPay Server могут просматриваться только администраторами сервера. Настройки магазина состоят из множества вкладок для категоризации каждого набора настроек.
- Общие
- Курсы
- Внешний вид при оформлении заказа
- Токены доступа
- Пользователи
- Роли
- Вебхуки
- Процессоры выплат
- Электронные письма
- Формы
Общие
На вкладке Общие настройки владельцы магазинов устанавливают свой брендинг и стандартные настройки платежей. При первоначальной настройке магазина было задано имя магазина; это будет отражено в Общих настройках под Названием магазина. Здесь владелец магазина также может настроить свой веб-сайт в соответствии с брендингом и ID магазина для узнаваемости администратором в базе данных.
Брендинг
Поскольку BTCPay Server является FOSS (свободным и открытым программным обеспечением), владелец магазина может настроить брендинг под свой магазин. Установите цвет бренда, сохраните логотипы вашего бренда и добавьте пользовательский CSS для страниц, видимых покупателями/клиентами (Счета-фактуры, Запросы на оплату, Платежи по запросу).
Платежи
В настройках платежей владельцы магазинов могут установить стандартную валюту магазина (в биткойнах или любой фиатной валюте).
Разрешить всем создавать счета-фактуры
Эта настройка предназначена для разработчиков или строителей на базе BTCPay Server. С включенной этой настройкой для вашего магазина она позволяет внешнему миру создавать счета-фактуры на вашем экземпляре BTCPay Server.
Добавить дополнительную плату (сетевую плату) к счетам-фактурам
Функция в BTCPay для защиты продавцов от атак пыли или клиентов, которые
могут привести к высоким расходам на платежи позже, когда продавцу нужно
будет переместить большое количество биткойнов за раз. Например, клиент
создал счет-фактуру на 20и оплатил его частично, платя 1 20 раз, пока счет-фактура не был полностью оплачен. Теперь у продавца большая
транзакция, увеличивающая стоимость майнинга в случае, если продавец решит позже
переместить эти средства. По умолчанию BTCPay применяет дополнительную сетевую
стоимость к общей сумме счета-фактуры, чтобы покрыть этот расход для продавца,
когда счет-фактура оплачивается несколькими транзакциями. BTCPay предлагает несколько
вариантов для настройки этой функции защиты. Вы можете применить сетевую плату:
- Только если клиент совершает более одного платежа по счету-фактуре (В приведенном выше примере, если клиент создал счет-фактуру на 20$ и оплатил 1$, теперь общая сумма к оплате составляет 19$ + сетевая плата. Сетевая плата применяется после первого платежа)
- За каждый платеж (включая первый платеж, в нашем примере общая сумма будет 20$ + сетевая плата сразу же, даже при первом платеже)
- Никогда не добавлять сетевую плату (полностью отключает сетевую плату)
Хотя это защищает от транзакций пыли, это также может негативно сказаться на бизнесе, если это не объяснить должным образом. У клиентов могут возникнуть дополнительные вопросы, и они могут подумать, что вы перезаряжаете их.
Счет-фактура считается просроченным, если полная сумма не была оплачена после?
Таймер счета-фактуры по умолчанию установлен на 15 минут. Таймер является механизмом защиты от волатильности, поскольку он фиксирует количество биткойнов в соответствии с курсом биткойна к фиатным валютам. Если клиент не оплачивает счет-фактуру в установленный период, счет-фактура считается просроченным. Счет-фактура считается "оплаченным", как только транзакция видна в блокчейне (0 подтверждений), но считается "завершенным", когда он достигает количества подтверждений, определенных продавцом (обычно, 1-6). Таймер можно настраивать по минутам.
Считать счет-фактуру оплаченным, даже если оплаченная сумма на X% меньше ожидаемой?
Когда клиент использует кошелек на бирже для прямой оплаты счета, биржа взимает небольшую комиссию. Это означает, что такой счет не считается полностью оплаченным. Счет получает статус "частично оплачен". Здесь вы можете установить процентную ставку, если продавец хочет принимать недоплаченные счета.
Тарифы
В BTCPay Server, когда генерируется счет, всегда необходима самая актуальная и точная цена Bitcoin к фиату. При создании нового магазина в BTCPay Server, администраторов просят установить предпочтительный источник цен; после настройки магазина, владельцы магазинов всегда могут изменить источник цен в этой вкладке.
Расширенное правило скриптования тарифов
В основном используется опытными пользователями. Если включено, владельцы магазинов могут создавать скрипты вокруг поведения цен и как взимать плату с их клиентов.
Тестирование
Быстрое тестировое место для ваших предпочтительных валютных пар. Это также включает функцию проверки стандартных валютных пар через REST запрос.
Внешний вид оформления заказа
Вкладка внешнего вида оформления заказа начинается с настроек специфичных для счета и стандартного способа оплаты и позволяет включать конкретные способы оплаты, когда выполняются установленные требования.
Настройки счета
Стандартные способы оплаты. BTCPay Server в стандартной конфигурации имеет три варианта.
- BTC (через цепочку)
- BTC (LNURL-pay)
- BTC (Вне цепочки & Lightning)
Мы можем установить параметры для нашего магазина, где клиент будет взаимодействовать только с Lightning, когда цена меньше X суммы, и наоборот для транзакций через цепочку, когда X больше Y всегда представлять опцию оплаты через цепочку.
Оформление заказа
Начиная с выпуска BTCPay Server 1.7, был представлен новый интерфейс оформления заказа, Checkout V2, как его называют. С момента выпуска 1.9 это стало стандартом, администраторы и владельцы магазинов все еще могут установить оформление заказа на предыдущую версию. Используя переключатель "Использовать классическое оформление заказа", владелец магазина может вернуть магазин к предыдущему опыту оформления заказа. BTCPay Server также имеет набор предустановок для онлайн-коммерции или внутреннего опыта.
Когда клиент взаимодействует с магазином и генерирует счет, у счета есть время истечения. По умолчанию BTCPay Server устанавливает это время в 5 минут, и Администратор может установить это время как ему угодно. Страницу оформления заказа можно дополнительно настроить, проверив следующие параметры:
- Праздновать оплату, показывая конфетти
- Показывать заголовок магазина (Название и логотип)
- Показывать кнопку "Оплатить в кошельке"
- Объединять URL/QR для оплаты через цепочку и вне цепочки
- Отображать суммы платежей Lightning в Сатоши
- Автоматическое определение языка при оформлении заказа
Когда автоматическое определение языка не установлено, BTCPay Server по умолчанию будет отображать английский. Владелец магазина может изменить это стандартное значение на предпочитаемый им язык.
Нажмите на выпадающий список, и владельцы магазинов могут установить пользовательский HTML заголовок, который будет отображаться на странице оформления заказа.
Чтобы убедиться, что клиент знает свой способ оплаты, владелец магазина может явно установить свое оформление заказа так, чтобы пользователи всегда выбирали предпочитаемый способ оплаты. Когда счет оплачен, BTCPay Server позволяет клиенту вернуться в веб-магазин. Владельцы магазинов могут установить это перенаправление после оплаты клиентом автоматически.
Публичный чек
В настройках публичного чека владелец магазина может сделать страницы чеков публичными и показать список платежей на странице чека и QR-код чека, чтобы клиент мог легко получить к нему доступ цифровым способом.
Токены Доступа
Токены доступа используются для подключения к определенным интеграциям с электронной коммерцией или кастомным интеграциям.
Пользователи
Пользователи магазина - это те, кого владелец магазина может управлять: его сотрудниками, их аккаунтами и доступом к магазину. После того как сотрудники создают свои аккаунты, владелец магазина может добавить конкретных пользователей в магазин как Гостевых пользователей или владельцев. Для дальнейшего определения роли сотрудника обратитесь к следующему разделу о "Настройках магазина BTCPay Server - Роли".
Роли
Владельцу магазина могут не хватать стандартных ролей пользователей. В настройках кастомных ролей владелец магазина может определить точные потребности для каждой роли в его бизнесе.
(1) Чтобы создать новую роль, нажмите кнопку "+ Добавить роль".
(2) Введите название роли, например, "Кассир".
(3) Настройте индивидуальные разрешения для роли.
- Изменять ваши магазины.
- Управлять связанными с вашими магазинами биржевыми аккаунтами.
- Просматривать связанные с вашими магазинами биржевые аккаунты.
- Управлять вашими платежами на запрос.
- Создавать платежи на запрос.
- Создавать неподтвержденные платежи на запрос.
- Изменять счета-фактуры.
- Просматривать счета-фактуры.
- Создавать счет-фактуру.
- Создавать счета-фактуры с узлов Lightning, связанных с вашими магазинами.
- Просматривать ваши магазины.
- Просматривать счета-фактуры.
- Просматривать ваши запросы на платеж.
- Изменять вебхуки магазинов.
- Изменять ваши запросы на платеж.
- Просматривать ваши запросы на платеж.
- Использовать узлы Lightning, связанные с вашими магазинами.
- Просматривать счета-фактуры Lightning, связанные с вашими магазинами.
- Создавать счета-фактуры с узлов Lightning, связанных с вашими магазинами.
- Вносить средства на биржевые аккаунты, связанные с вашими магазинами.
- Снимать средства с биржевых аккаунтов на ваш магазин.
- Торговать средствами на биржевых аккаунтах вашего магазина.
Когда роль создана, ее название фиксируется и не может быть изменено в режиме редактирования.
Вебхуки
В BTCPay Server достаточно просто создать новый "Вебхук". Во вкладке настроек магазина BTCPay Server - Вебхуки, владелец магазина может легко создать новый вебхук, нажав на "+ Создать Вебхук". Вебхуки позволяют BTCPay Server отправлять HTTP-события, связанные с вашим магазином, на другие серверы или интеграции электронной коммерции.
Вы находитесь в режиме создания Вебхука. Убедитесь, что вы знаете ваш Payload URL и вставьте его в ваш BTCPay Server. Пока вы вставили URL полезной нагрузки, под ним отображается секрет вебхука. Скопируйте секрет вебхука и предоставьте его на конечной точке. Когда все будет настроено, вы можете переключить в BTCPay Server на Автоматическую переотправку. Мы попытаемся переотправить любую неудачную доставку после 10 секунд, 1 минуты и до 6 раз после 10 минут. Вы можете переключаться между каждым событием или указывать события по вашим потребностям. Обязательно активируйте вебхук и нажмите Добавить вебхук, чтобы сохранить его.
Вебхуки не предназначены для совместимости с Bitpay API. В BTCPay Server есть два отдельных IPN (по терминологии BitPay: "Мгновенные Уведомления о Платеже").
- Webhook
- Уведомления
Используйте URL уведомлений только когда вы создаете счета-фактуры через Bitpay API.
Процессоры Выплат
Процессоры выплат работают вместе с концепцией выплат в BTCPay Server. Агрегатор выплат позволяет объединять несколько транзакций и отправлять их одновременно. С помощью процессоров выплат владелец магазина может автоматизировать пакетные выплаты. BTCPay Server предлагает два метода автоматизированных выплат: через блокчейн (On-chain) и внеблокчейновые (Off-chain, LN).
Владелец магазина может настроить оба процессора выплат отдельно. Владелец магазина может захотеть запускать процессор через блокчейн один раз каждые X часов, в то время как внеблокчейновые выплаты могут происходить каждые несколько минут. Для выплат через блокчейн вы также можете установить цель, в каком блоке они должны быть включены. По умолчанию это установлено на 1 (или следующий доступный блок). Обратите внимание, что настройка процессора внеблокчейновых выплат имеет только таймер интервала и не имеет цели блока. Платежи в сети Lightning выполняются мгновенно.
Владельцы магазинов могут настроить процессор через блокчейн только если к их магазину подключен горячий кошелек (Hot-wallet).
После настройки процессора выплат вы можете быстро удалить или изменить его, вернувшись на вкладку процессора выплат в настройках магазина BTCPay Server.
!?Обратите внимание!?
Процессор выплат через блокчейн - Процессор выплат через блокчейн может работать только в магазине, настроенном с подключенным горячим кошельком. Если горячий кошелек не подключен, BTCPay Server не хранит ключи к кошельку и не сможет автоматически обрабатывать выплаты.
Электронные письма
BTCPay Server может использовать электронные письма для уведомлений или, при правильной настройке, для восстановления аккаунтов, созданных на экземпляре, так как стандартный BTCPay Server не отправляет электронное письмо при потере пароля, например.
Прежде чем владелец магазина сможет настроить правила электронной почты для срабатывания при определенных событиях его магазина, мы должны настроить некоторые базовые параметры электронной почты. BTCPay Server требуются эти настройки для отправки электронных писем о событиях, основанных на вашем магазине, или для сброса пароля.
BTCPay Server упростил заполнение этой информации с помощью опции "Быстрое заполнение":
- Gmail.com
- Yahoo.com
- Mailgun
- Office365
- SendGrid
Используя опцию быстрого заполнения, BTCPay Server автоматически заполнит поля для SMTP-сервера и порта; теперь владельцу магазина остается только ввести свои учетные данные в адрес электронной почты, логин (который обычно совпадает с вашим адресом электронной почты) и пароль. Расширенная опция, которую BTCPay Server предлагает в настройках электронной почты, - это отключение проверок безопасности TLS-сертификата; по умолчанию эта опция включена.
С помощью правил электронной почты владелец магазина может настроить отправку электронных писем на определенные адреса при определенных событиях.
- Счет создан
- Счет получил платеж
- Счет обрабатывается
- Счет истек
- Счет урегулирован
- Счет недействителен
- Платеж по счету урегулирован
Если клиент предоставил адрес электронной почты, эти триггеры также могут отправлять информацию клиенту. Владельцы магазинов могут заранее заполнить строку темы, чтобы ясно объяснить, почему было отправлено это электронное письмо и какой триггер его вызвал.
Формы
Поскольку BTCPay Server не собирает никаких данных, владелец магазина может
захотеть добавить пользовательскую форму к процессу оформления заказа; таким
образом, владелец магазина может собрать дополнительную информацию от своего
клиента. Конструктор форм BTCPay Server состоит из двух частей: визуального
и более продвинутого кодового представления форм. При создании новой формы
BTCPay Server открывает новое окно с запросом базовой информации о том, что
вы хотите запросить в вашей новой форме. Сначала владелец магазина должен
дать четкое название своей новой форме, это название НЕЛЬЗЯ изменить после
его установки. 
После того как владелец магазина дает форме название, вы также можете переключить переключатель "Разрешить общественное использование формы" в положение ON, и он станет зеленым. Это делается для того, чтобы форма использовалась в каждом месте, видимом покупателям. Например, если владелец магазина создает 1 отдельный счет-фактуру не через свою точку продаж, он все равно может захотеть собрать информацию от покупателя; переключение в положение ON позволяет собирать эту информацию.
Каждая форма начинается по крайней мере с 1 нового поля формы. Владелец магазина может выбрать, каким должен быть тип поля:
- Текст
- Число
- Пароль
- Электронная почта
- URL
- Телефонные номера
- Дата
- Скрытые поля
- Группа полей
- Текстовая область для открытых комментариев.
- Селектор опций
Каждый тип сопровождается своими параметрами для заполнения. Владелец магазина может настроить их по своему усмотрению. Ниже первого созданного поля владельцы магазинов могут продолжать добавлять новые поля в эту одну форму.
Расширенные пользовательские формы
BTCPay Server также позволяет вам создавать формы в коде. В частности, JSON. Вместо того чтобы смотреть на редактор, владельцы магазинов могут нажать на кнопку CODE рядом с редактором и перейти к коду своих форм. В определении поля можно установить только следующие поля; значения полей хранятся в метаданных счета-фактуры:
| Поле | Описание |
|---|---|
| .fields.constant | Если true, .value должно быть установлено в определении формы, и пользователь не сможет изменить значение поля. (пример: версия определения формы) |
| .fields.type | HTML тип ввода текст, радио, чекбокс, пароль, скрытое, кнопка, цвет, дата, datetime-local, месяц, неделя, время, email, число, диапазон, поиск, url, select, tel |
| .fields.options | Если .fields.type это select, список выбираемых значений |
| .fields.options.text | Текст, отображаемый для этой опции |
| .fields.options.value | Значение поля, если выбрана эта опция |
| .fields.type=fieldset | Создает HTML fieldset вокруг дочерних .fields.fields (см. ниже) |
| .fields.name | Имя свойства JSON поля, как оно будет отображаться в метаданных счета-фактуры |
| .fields.value | Значение поля по умолчанию |
| .fields.required | если true, поле будет обязательным |
| .fields.label | Метка поля |
| .fields.helpText | Дополнительный текст для объяснения поля. |
| .fields.fields | Вы можете организовать свои поля в иерархии, позволяя дочерним полям быть вложенными в метаданные счета. Эта структура может помочь вам лучше организовать и управлять собранной информацией, делая ее более доступной и легкой для интерпретации. Например, если у вас есть форма, которая собирает информацию о клиенте, вы можете сгруппировать поля под родительским полем с названием клиент. В этом родительском поле у вас могут быть дочерние поля, такие как имя, Email и адрес. |
Имя поля представляет собой имя свойства JSON, которое хранит значение, предоставленное пользователем, в метаданных счета. Некоторые известные имена могут быть интерпретированы и изменить настройки счета.
| Имя поля | Описание |
|---|---|
| invoice_amount | Сумма счета |
| invoice_currency | Валюта счета |
Вы можете автоматически предзаполнить поля счета, добавив строки запроса к URL формы, например, "?your_field=value".
Вот некоторые примеры использования этой функции:
- Помощь в вводе данных пользователем: Предзаполнение полей известной информацией о клиенте, чтобы упростить им заполнение формы. Например, если вы уже знаете адрес электронной почты клиента, вы можете предзаполнить поле электронной почты, чтобы сэкономить их время.
- Персонализация: Настройка формы в зависимости от предпочтений клиента или сегментации. Например, если у вас есть разные уровни клиентов, вы можете предзаполнить форму соответствующими данными, такими как уровень членства или конкретные предложения.
- Отслеживание: Отслеживание источника посещений клиентов с помощью скрытых полей и предзаполненных значений. Например, вы можете создать ссылки с предзаполненными значениями utm_media для каждого маркетингового канала (например, Twitter, Facebook, Email). Это помогает анализировать эффективность ваших маркетинговых усилий.
- A/B тестирование: Предзаполнение полей разными значениями для тестирования разных версий формы, что позволяет оптимизировать пользовательский опыт и коэффициенты конверсии.
Сводка навыков
В этом разделе вы узнали следующее:
- Расположение и функции вкладок в Настройках магазина
- Множество опций для точной настройки обработки базовых обменных курсов, частичных платежей, незначительных недоплат и многого другого.
- Настройка внешнего вида оформления заказа, включая зависимость цены от основной цепи по сравнению с активацией Lightning в счетах.
- Управление уровнями доступа к магазину и разрешениями для разных ролей.
- Настройка автоматизированных электронных писем и их триггеров
- Создание пользовательских форм для сбора дополнительной информации о клиенте при оформлении заказа.
Оценка знаний
Обзор KA
В чем разница между Настройками магазина и Настройками сервера?
Гипотетический KA
Опишите некоторые опции, которые вы могли бы выбрать в Внешний вид оформления заказа > Настройки счета, и почему.
BTCPay Server - Настройки сервера
BTCPay Server состоит из двух различных видов настроек. Одни посвящены Настройкам магазина, а другие - Настройкам сервера. Последние доступны только если вы являетесь администратором сервера, а не владельцем магазина. Администраторы сервера могут добавлять пользователей, создавать пользовательские роли, настраивать почтовый сервер, устанавливать политики, выполнять задачи по обслуживанию, проверять все сервисы, прикрепленные к BTCPay Server, загружать файлы на сервер или проверять Журналы.
Пользователи
Как упоминалось в предыдущей части, Администраторы сервера могут приглашать пользователей на свой сервер, добавляя их во вкладку Пользователи.
Пользовательские роли на уровне сервера
BTCPay Server знает два вида пользовательских ролей: специфические для магазина пользовательские роли и пользовательские роли на уровне сервера в настройках BTCPay Server. Обе имеют похожий набор разрешений; однако, если установлено через вкладку Настройки BTCPay Server - Роли, применяемая роль будет действовать на уровне сервера и применяться к нескольким магазинам. Обратите внимание на метку "На уровне сервера" у пользовательских ролей в настройках сервера.
Серверные пользовательские роли
Набор разрешений для пользовательских ролей на уровне сервера:
- Изменение ваших магазинов.
- Управление биржевыми счетами, связанными с вашими магазинами.
- Просмотр биржевых счетов, связанных с вашими магазинами.
- Управление вашими платежами на запрос.
- Создание платежей на запрос.
- Создание неподтвержденных платежей на запрос.
- Изменение счетов-фактур.
- Просмотр счетов-фактур.
- Создание счета-фактуры.
- Создание счетов-фактур с узлов Lightning, связанных с вашими магазинами.
- Просмотр ваших магазинов.
- Просмотр счетов-фактур.
- Просмотр ваших платежных запросов.
- Изменение вебхуков магазинов.
- Изменение ваших платежных запросов.
- Просмотр ваших платежных запросов.
- Использование узлов Lightning, связанных с вашими магазинами.
- Просмотр счетов-фактур Lightning, связанных с вашими магазинами.
- Создание счетов-фактур с узлов Lightning, связанных с вашими магазинами.
- Пополнение счетов на бирже, связанных с вашими магазинами.
- Снятие средств с биржевых счетов в ваш магазин.
- Торговля средствами на биржевых счетах вашего магазина.
!?Обратите внимание!?
Когда роль создается, ее имя фиксируется и не может быть изменено в режиме редактирования.
Электронная почта
Настройки электронной почты на уровне сервера выглядят похоже на настройки электронной почты для конкретного магазина. Однако, эта настройка управляет не только триггерами для магазинов или журналами администратора. Эта настройка электронной почты также делает доступным восстановление пароля на сервере BTCPay при входе в систему. Работает аналогично настройкам для конкретного магазина; администраторы могут быстро заполнить параметры своей электронной почты, ввести учетные данные электронной почты, и сервер теперь может отправлять электронные письма.
Политики
Администраторы политик сервера BTCPay могут установить некоторые настройки по темам, таким как настройки для существующих пользователей, настройки для новых пользователей, настройки уведомлений и настройки обслуживания. Эти настройки предназначены для регистрации новых пользователей как администраторов или обычных пользователей или даже для скрытия сервера BTCPay от поисковых систем, добавляя в заголовок вашего сервера.
Настройки для существующих пользователей
Доступные здесь опции отдельны от пользовательских ролей. Эти дополнительные разрешения могут сделать магазин или владельца магазина уязвимыми для атак. Политики, которые могут быть добавлены для существующих пользователей:
- Разрешить неадминистраторам использовать внутренний узел Lightning в их
магазинах.
- Это позволит владельцам магазинов использовать узел Lightning администратора сервера, а следовательно, и его средства! Будьте осторожны, это не решение для доступа к Lightning.
- Разрешить неадминистраторам создавать горячие кошельки для их магазинов.
- Это позволит любому пользователю с аккаунтом на вашем сервере BTCPay создавать горячие кошельки и хранить их семена восстановления на сервере администратора. Это может сделать администратора ответственным за хранение средств третьих лиц!
- Разрешить неадминистраторам импортировать горячие кошельки для их
магазинов.
- Аналогично предыдущему пункту о создании горячих кошельков, эта политика позволяет импортировать горячий кошелек, с теми же опасностями, упомянутыми в разделе о создании горячих кошельков.
Настройки для новых пользователей
Мы можем установить некоторые важные настройки для управления новыми пользователями, приходящими на сервер. Мы можем установить подтверждение по электронной почте для новых регистраций, отключить создание новых пользователей через экран входа в систему и ограничить доступ неадминистраторов к созданию пользователей через API.
- Требовать подтверждение по электронной почте для регистрации.
- Администратор сервера должен настроить сервер электронной почты!
- Отключить регистрацию новых пользователей на сервере
- Отключить доступ неадминистраторов к API-конечной точке создания пользователя.
По умолчанию на сервере BTCPay включено отключение регистрации новых пользователей и отключен доступ неадминистраторов к API-конечной точке создания пользователя. Это сделано с точки зрения безопасности, чтобы никто случайный, кто мог найти страницу входа BTCPay вашего сервера, не мог начать создавать аккаунты.
Настройки уведомлений
Настройки обслуживания
BTCPay Server - это проект с открытым исходным кодом, который размещается на GitHub. Каждый раз, когда BTCPay Server выпускает новую версию программного обеспечения, администраторы могут получать уведомления о доступности новой версии. Администраторам также может быть интересно предотвратить индексацию домена BTCPay Server поисковыми системами (Google, Yahoo, DuckDuckGo). Поскольку BTCPay Server является FOSS (свободным программным обеспечением с открытым исходным кодом), разработчики по всему миру могут захотеть создавать новые функции; BTCPay Server имеет экспериментальную функцию, которая при включении позволяет администратору использовать функции, не предназначенные для производства, исключительно в тестовых целях.
- Проверять релизы на GitHub и уведомлять, когда доступна новая версия BTCPay Server.
- Запретить поисковым системам индексировать этот сайт.
- Включить экспериментальные функции.
Плагины
BTCPay Server может добавлять плагины и расширять свой набор функций. Плагины по умолчанию загружаются из репозитория плагин-билдера BTCPay Server. Однако администратор может выбрать просмотр плагинов в состоянии предварительного выпуска, и если разработчик плагина разрешает, администратор сервера теперь может устанавливать бета-версии плагинов.
Настройки настройки
Стандартная установка BTCPay Server будет доступна через домен, установленный для нее при установке. Однако администратор сервера может переназначить корневой домен и отображать одно из созданных приложений из определенного магазина. Администратор сервера также может сопоставлять конкретные домены с конкретными приложениями.
- Отображать приложение в корне веб-сайта
- Отображает список возможных приложений для показа на корневом домене.
- Сопоставить конкретные домены с конкретными приложениями.
- Когда вы нажимаете, чтобы настроить конкретный домен для конкретных приложений, администратор может указать столько доменов, сколько необходимо, указывая на конкретные приложения.
Блок-эксплореры
BTCPay Server стандартно использует mempool.space в качестве блок-эксплорера для транзакций. Когда BTCPay Server генерирует новый счет, и к нему привязана транзакция, владелец магазина может нажать, чтобы открыть транзакцию; BTCPay Server стандартно будет указывать на mempool.space как на блок-эксплорер; администратор сервера может изменить это по своему усмотрению.
Сервисы
Вкладка настроек BTCPay Server: Сервисы представляет собой обзор компонентов, используемых вашим BTCPay Server. Сервисы, которые ваш BTCPay Server предоставляет, могут варьироваться в зависимости от метода развертывания.
Администратор BTCPay Server может нажать на "Смотреть информацию" за каждым сервисом, чтобы открыть его и настроить конкретные параметры.
LND (gRPC)
BTCPay предоставляет сервис LND gRPC для внешнего использования; здесь вы найдете информацию для подключения; совместимые кошельки перечислены здесь. BTCPay Server также предоставляет QR-код для подключения, который можно сканировать и применять в мобильном кошельке.
Администраторы серверов могут открыть дополнительные детали, чтобы увидеть:
- Информацию о хосте
- Использование SSL
- Macaroon
- AdminMacaroon
- InvoiceMacaroon
- ReadonlyMacaroon
- Набор шифров GRPC SSL (GRPC_SSL_CIPHER_SUITES)
LND (REST)
BTCPay предоставляет сервис LND REST для внешнего использования; здесь вы найдете информацию для подключения; совместимые кошельки перечислены здесь. Среди совместимых кошельков - Joule, Alby и ZeusLN. BTCPay Server предоставляет QR-код для подключения, который можно сканировать и применять в совместимом кошельке.
- REST Uri
- Macaroon
- AdminMacaroon - InvoiceMacaroon
- ReadonlyMacaroon
Резервное копирование сида LND
Резервное копирование сида LND полезно для восстановления средств из вашего кошелька LND в случае повреждения вашего сервера. Поскольку узел Lightning является горячим кошельком, конфиденциальную информацию о сиде можно найти на этой странице.
LND документирует процесс восстановления. См. https://github.com/lightningnetwork/lnd/blob/master/docs/recovery.md для документации.
Ride The Lightning
Ride the Lightning - это инструмент управления узлом Lightning, созданный как программное обеспечение с открытым исходным кодом. BTCPay Server использует RTL как компонент управления узлом Lightning в своем стеке. Администраторы BTCPay Server могут получить доступ к RTL через настройки сервера - вкладку Сервисы или нажав на кошелек Lightning.
Полный узел P2P
Администраторы серверов могут захотеть подключить свой Bitcoin-узел к мобильному кошельку. Эта страница предоставляет информацию для удаленного подключения к вашему полному узлу через протокол P2P. На момент написания этой книги, BTCPay Server указывает кошельки Blockstream Green и Wasabi как совместимые кошельки. BTCPay Server предоставляет QR-код для подключения, сканируйте и применяйте в совместимом кошельке.
Полный узел RPC
Эта страница предоставляет информацию для удаленного подключения к вашему полному узлу через протокол RPC.
SSH
SSH используется для целей обслуживания. BTCPay Server показывает начальную команду подключения к вашему серверу и авторизованные публичные ключи SSH для подключения к вашему серверу. Администраторы серверов могут захотеть отключить изменения SSH через UI BTCPay Server.
Динамический DNS
Динамический DNS позволяет иметь стабильное DNS-имя, указывающее на ваш сервер, даже если ваш IP-адрес регулярно меняется. Это рекомендуется, если вы размещаете BTCPay Server дома и хотите иметь домен в чистом интернете для доступа к вашему серверу.
Обратите внимание, что вам нужно правильно настроить ваш NAT и установку BTCPay Server, чтобы получить сертификат HTTPS.
Тема
BTCPay Server стандартно поставляется с двумя темами: светлой и темной. Их можно переключать, нажав на учетную запись в нижнем левом углу и переключаясь между темной темой или светлой темой. Администраторы BTCPay Server могут добавить свою тему, предоставив пользовательскую CSS-тему.
Администраторы могут расширить светлую/темную тему, добавив свой собственный пользовательский CSS или установив свою тему как полностью пользовательскую.
Брендинг сервера
Администраторы серверов могут изменить брендинг BTCPay Server, установив брендинг вашей компании для всего сервера. Поскольку BTCPay Server является FOSS, администраторы серверов могут использовать программное обеспечение под своим брендом и изменить его внешний вид в соответствии с потребностями своего бизнеса.
Обслуживание
Как администратор сервера, ваши пользователи ожидают, что вы будете хорошо заботиться о сервере. Во вкладке Обслуживание BTCPay Server администратор может выполнить некоторое основное обслуживание. Установить доменное имя для экземпляра BTCPay Server, перезапустить или очистить сервер. Возможно, самое важное - запускать обновления.
BTCPay Server - это проект с открытым исходным кодом, который часто обновляется. Каждый новый релиз анонсируется либо через уведомления вашего BTCPay Server, либо через официальные каналы, через которые BTCPay Server общается.
Доменное имя
После настройки BTCPay Server администратор может захотеть изменить свое первоначальное доменное имя. Во вкладке Обслуживание администратор может изменить домен. После подтверждения и настройки соответствующих DNS-записей на домене, BTCPay Server обновляется и перезапускается, чтобы вернуться к новому домену.
Перезапуск
Перезапустите BTCPay Server и связанные службы.
Очистка
BTCPay Server работает с компонентами Docker; с обновлениями могут
оставаться остатки образов Docker, временных файлов и т.д. Администраторы
серверов могут очистить это и освободить место в своей среде, запустив
скрипт очистки. 
Обновление
Возможно, самая важная опция во вкладке Обслуживание. BTCPay Server создается сообществом, и поэтому его циклы обновления более частые, чем у большинства программных продуктов. Когда BTCPay Server имеет новый релиз, администраторы будут уведомлены в своем центре уведомлений. Нажав кнопку обновления, BTCPay Server проверит GitHub на предмет последнего релиза, обновит сервер и перезапустит его. Перед обновлением администраторам серверов всегда рекомендуется читать заметки к релизу, распространяемые через официальные каналы BTCPay Server.
Логи
Столкновение с проблемой никогда не бывает приятным. Этот документ объясняет наиболее общий рабочий процесс и шаги для эффективного определения вашей проблемы и ее решения самостоятельно или с помощью сообщества.
Определение проблемы крайне важно.
Воспроизведение проблемы
Прежде всего, попытайтесь определить, когда происходит проблема. Попытайтесь воспроизвести проблему. Попробуйте обновить и перезапустить ваш сервер, чтобы проверить, можете ли вы воспроизвести вашу проблему. Если это лучше описывает вашу проблему, сделайте скриншот.
Обновление сервера
Проверьте вашу версию BTCPay Server, если она значительно старше последней версии BTCPay Server. Обновление вашего сервера может решить проблему.
Перезапуск сервера
Перезапуск вашего сервера - это простой способ решить многие из наиболее распространенных проблем BTCPay Server. Вам может потребоваться использовать SSH для доступа к вашему серверу, чтобы перезапустить его.
Перезапуск службы
Для некоторых проблем может потребоваться перезапустить только определенную службу в вашей установке BTCPay Server. Например, перезапуск контейнера lets encrypt для обновления SSL-сертификата.
sudo su -
cd btcpayserver-docker
docker restart letsencrypt-nginx-proxy-companion
Используйте docker ps, чтобы найти имя другой службы, которую вы хотели бы перезапустить.
Просмотр логов
Логи могут предоставить важную информацию. В следующих абзацах мы опишем, как получить информацию из логов для различных частей BTCPay.
Логи BTCPay
Начиная с версии v1.0.3.8, вы можете легко получить доступ к логам BTCPay Server с фронтенда. Если вы администратор сервера, перейдите в Настройки сервера > Логи и откройте файл логов. Если вы не знаете, что означает конкретная ошибка в логах, упомяните об этом при устранении неполадок.
Если вы хотите более подробные логи и используете развертывание на Docker, вы можете просматривать логи конкретных контейнеров Docker с помощью командной строки. Смотрите эти инструкции для доступа по ssh к экземпляру BTCPay, работающему на VPS.
На следующей странице общий список имен контейнеров, используемых для BTCPay Server.
Запустите команды ниже, чтобы печатать логи по имени контейнера. Замените имя контейнера, чтобы просмотреть логи других контейнеров.
sudo su -
cd btcpayserver-docker
docker ps
docker logs --tail 100 generated_btcpayserver_1
| Логи для | Имя контейнера |
|---|---|
| BTCPayServer | generated_btcpayserver_1 |
| NBXplorer | generated_nbxplorer_1 |
| Bitcoind | btcpayserver_bitcoind |
| Postgres | generated_postgres_1 |
| proxy | letsencrypt-nginx-proxy-companion |
| Nginx | nginx-gen |
| Nginx | nginx |
| c-lightning | btcpayserver_clightning_bitcoin |
| LND | btcpayserver_lnd_bitcoin |
| RTL | generated_lnd_bitcoin_rtl_1 |
| Thunderhub | generated_bitcoin_thub_1 |
| LibrePatron | librepatron |
| Tor | tor-gen |
| Tor | tor |
Сеть Lightning LND - Docker
Существует несколько способов доступа к вашим логам LND при использовании Docker. Сначала войдите как root:
sudo su -
Перейдите в нужную директорию:
cd btcpayserver-docker
# Найдите имя контейнера:
docker ps
Выведите логи по имени контейнера:
docker logs --tail 100 btcpayserver_lnd_bitcoin
Кроме того, вы можете быстро вывести логи, используя ID контейнера (необходимы только первые уникальные символы ID, например, два самых левых символа):
docker logs 'добавьте ваш ID контейнера'
Если по какой-либо причине вам нужно больше логов
sudo su -
cd /var/lib/docker/volumes/generated_lnd_bitcoin_datadir/_data/logs/bitcoin/mainnet/
ls
Вы увидите что-то вроде
lnd.log lnd.log.13 lnd.log.15 lnd.log.16.gz lnd.log.17.gz
Чтобы получить доступ к несжатым логам этих файлов, используйте cat lnd.log или, если хотите другой, используйте cat lnd.log.15.
Чтобы получить доступ к сжатым логам в формате .gzip,
используйте gzip -d lnd.log.16.gz (в данном случае мы получаем
доступ к lnd.log.16.gz). Это должно дать вам новый файл, где вы
можете сделать cat lnd.log.16. В случае, если вышеуказанное не
работает, возможно, вам потребуется сначала установить gzip с помощью sudo apt-get install gzip.
Сеть Lightning c-lightning - Docker
sudo su -
docker ps
# Найдите ID контейнера c-lightning.
docker logs 'добавьте ваш ID контейнера здесь'
или используйте это
docker logs --tail 100 btcpayserver_clightning_bitcoin
Вы также можете получить информацию о логах с помощью команды cli c-lightning.
bitcoin-lightning-cli.sh getlog
Логи узла Bitcoin
Помимо просмотра логов вашего контейнера Bitcoind, вы также можете использовать любые из команд bitcoin-cli
(открывается в новом окне) для получения информации от вашего узла bitcoin. BTCPay включает скрипт, позволяющий вам легко общаться с вашим узлом Bitcoin.
Внутри папки btcpayserver-docker получите информацию о блокчейне, используя ваш узел:
bitcoin-cli.sh getblockchaininfo
BTCPay Server имеет локальную файловую систему и загружает активы магазина (продукты), логотипы и брендинг напрямую на сервер. Файловая система сервера доступна только администраторам сервера; владельцы магазинов могут загружать свои логотипы/брендинг на уровне магазина. Когда администратор сервера находится на вкладке Хранилище Файлов, можно напрямую загрузить на ваш сервер или изменить провайдера хранения файлов на Локальную файловую систему или Azure Blob Storage.
Сводка навыков
В этом разделе вы узнали следующее:
- Разницу между настройками Магазина и Сервера, в частности, как это относится к Пользователям, Ролям и Электронной почте
- Установка политик для всего сервера по использованию и созданию горячих кошельков Lightning или Bitcoin, регистрации новых пользователей и уведомлений по электронной почте.
- Как добавить пользовательские темы (вместо предоставленных простых светлых/темных вариантов), а также создать пользовательские логотипы
- Выполнение простых задач по обслуживанию сервера через предоставленный графический интерфейс
- Устранение неполадок, включая получение деталей для любого из контейнеров Docker или вашего узла
- Управление хранением файлов
Оценка знаний
Концептуальный обзор KA
В чем разница в ролях, назначенных через Настройки Сервера по сравнению с Настройками Магазина, и каково потенциальное использование одного над другим?
Практический обзор KA
Опишите некоторые возможные случаи использования, доступные на вкладке Политики.
Практический обзор KA
Опишите некоторые действия, которые администратор может регулярно выполнять на вкладке Обслуживание.
BTCPay Server - Платежи
Счет-фактура - это документ, который продавец выставляет покупателю для сбора платежа.
В BTCPay Server счет-фактура представляет собой документ, который должен быть оплачен в течение определенного временного интервала по фиксированному обменному курсу. Счета-фактуры имеют срок действия, поскольку они фиксируют обменный курс в указанный временной промежуток, чтобы защитить получателя от колебаний цен.
Основой BTCPay Server является возможность действовать как система управления счетами-фактурами Bitcoin. Счет-фактура является важным инструментом для отслеживания и управления полученными платежами.
Если вы не используете встроенный Кошелек для ручного приема платежей, все платежи в магазине будут отображаться на странице Счета-фактуры. Эта страница сортирует платежи по дате и является центральным элементом для управления счетами-фактурами и устранения неполадок с платежами.
Общее
Статусы счетов-фактур
В таблице ниже перечислены и описаны стандартные статусы счетов-фактур в BTCPay и предлагаются общие действия. Действия являются лишь рекомендациями. Пользователям предоставляется определить наилучший курс действий для их случая использования и бизнеса.
| Статус счета-фактуры | Описание | Действие |
|---|---|---|
| Новый | Не оплачен, таймер счета-фактуры еще не истек | Нет действий |
| Новый (частично оплачен) | Оплачен, не полностью, таймер счета-фактуры еще не истек | Нет действий |
| Просрочен | Не оплачен, таймер счета-фактуры истек | Нет действий |
| Просрочен (частично оплачен) ** | Оплачен, не в полном объеме, и просрочен | Связаться с покупателем для организации возврата или запроса доплаты. По желанию отметить счет-фактуру как урегулированную или недействительную |
| Просрочен (оплачен поздно) | Оплачен, в полном объеме, после истечения таймера счета-фактуры | Связаться с покупателем для организации возврата или обработки заказа, если поздние подтверждения приемлемы. |
| Оплачено (переплата) | Оплачено больше, чем сумма счета, расчет произведен, получено достаточное количество подтверждений | Связаться с покупателем для организации возврата излишне уплаченной суммы, или, по желанию, дождаться обращения покупателя |
| В обработке | Оплачено полностью, но не получено достаточное количество подтверждений, указанных в настройках магазина | Связаться с покупателем для организации возврата излишне уплаченной суммы, или, по желанию, дождаться обращения покупателя |
| В обработке (переплата) | Оплачено больше, чем сумма счета, не получено достаточное количество подтверждений | Дождаться расчета, затем связаться с покупателем для организации возврата излишне уплаченной суммы, или, по желанию, дождаться обращения покупателя |
| Оплачено | Оплачено полностью, получено достаточное количество подтверждений в магазине | Выполнить заказ |
| Оплачено (помечено) | Статус был вручную изменен на оплачено из статуса в обработке или недействительного | Администратор магазина пометил платеж как оплаченный |
| Недействительно* | Оплачено, но не получено достаточное количество подтверждений в указанный в настройках магазина срок | Проверить транзакцию в блокчейн-эксплорере, если она получила достаточное количество подтверждений, пометить как оплаченный |
| Недействительно (помечено) | Статус был вручную изменен на недействительно из статуса оплачено или истекший | Администратор магазина пометил платеж как недействительный |
| Недействительно (переплата) | Оплачено больше, чем сумма счета, но не получено достаточное количество подтверждений в указанный в настройках магазина срок | Проверить транзакцию в блокчейн-эксплорере, если она получила достаточное количество подтверждений, пометить как оплаченный |
Детали счета
Страница деталей счета содержит всю информацию, связанную с счетом.
Информация о счете создается автоматически на основе статуса счета, курса обмена и т.д. Информация о продукте создается автоматически, если счет был создан с информацией о продукте, например, в приложении Point of Sale.
Фильтрация счетов
Счета можно фильтровать с помощью быстрых фильтров, расположенных рядом с кнопкой поиска, или с помощью расширенных фильтров, которые можно включить, нажав на ссылку (Помощь) вверху. Пользователи могут фильтровать счета по магазину, идентификатору заказа, идентификатору товара, статусу или дате.
Экспорт счетов
Счета BTCPay Server можно экспортировать в форматах CSV или JSON. Для получения дополнительной информации об экспорте счетов и учете.
Возврат средств по счету
Если по какой-либо причине вы хотите произвести возврат средств, вы можете легко создать возврат средств из представления счета.
Архивация счетов
В результате функции неповторного использования адресов в BTCPay Server, на странице счетов вашего магазина часто можно увидеть множество истекших счетов. Чтобы скрыть их из вашего представления, выберите их в списке и пометьте как архивированные. Счета, помеченные как архивированные, не удаляются. Оплата по архивированному счету все равно будет обнаружена вашим BTCPay Server (статус оплачено поздно). Вы можете просмотреть архивированные счета магазина в любое время, выбрав архивированные счета из выпадающего списка фильтра поиска.
Валюта по умолчанию
Валюта магазина по умолчанию, это было установлено при создании магазина.
Разрешить всем создавать счет
Вы должны включить эту опцию, если хотите разрешить внешнему миру создавать счета в вашем магазине. Эта опция полезна только если вы используете кнопку оплаты или если вы выставляете счета через API или сторонний HTML-сайт. Приложение PoS предварительно авторизовано и не требует включения этой опции для того, чтобы случайный посетитель мог открыть ваш магазин PoS и создать счет.
Добавить дополнительную плату (сетевую плату) к счету
- Только если клиент производит более одного платежа по счету
- При каждом платеже
- Никогда не добавлять сетевую плату
Счет истекает, если полная сумма не была оплачена через .. минут.
Таймер счета установлен по умолчанию на 15 минут. Таймер является механизмом защиты от волатильности, так как он фиксирует количество криптовалюты в соответствии с курсом крипто к фиату. Если клиент не оплатит счет в установленный период, счет считается просроченным. Счет считается "оплаченным", как только транзакция видна в блокчейне (0-подтверждений), но считается "завершенным", когда он достигает количества подтверждений, определенных продавцом (обычно, 1-6). Таймер можно настроить.
Считать счет оплаченным, даже если оплаченная сумма на ..% меньше ожидаемой.
В ситуации, когда клиент использует кошелек обменника для прямой оплаты счета, обменник берет небольшую комиссию. Это означает, что такой счет не считается полностью завершенным. Счет получает статус "частично оплаченный". Если продавец хочет принимать недоплаченные счета, вы можете установить здесь процентную ставку.
Запросы
Запросы на оплату - это функция, которая позволяет владельцам магазинов BTCPay создавать долгосрочные счета. Средства переводятся на запрос на оплату по курсу обмена на момент оплаты. Это позволяет пользователям совершать платежи в удобное для них время без необходимости согласования или проверки курсов обмена с владельцем магазина в момент оплаты.
Пользователи могут оплачивать запросы частичными платежами. Запрос на оплату остается действительным до его полной оплаты или если владелец магазина требует установить время истечения. Адреса никогда не используются повторно. Новый адрес генерируется каждый раз, когда пользователь нажимает оплатить, создавая счет для запроса на оплату.
Владельцы магазинов могут печатать запросы на оплату (или экспортировать данные счета) для ведения учета и бухгалтерии. BTCPay автоматически маркирует счета как Запросы на Оплату в списке счетов вашего магазина.
Настройте Ваши Запросы на Оплату
- Сумма Счета - Установите Запрашиваемую Сумму Оплаты
- Деноминация - Показать Запрашиваемую Сумму в Фиате или Криптовалюте
- Количество Платежей - Разрешить только единичные платежи или частичные платежи
- Время Истечения - Разрешить платежи до даты или без истечения срока
- Описание - Текстовый Редактор, Таблицы Данных, Вставка Фото и Видео
- Внешний Вид - Цвет и Стиль с Темами CSS
Создать Запрос на Оплату
В левом меню перейдите в Запрос на Оплату и кликните "Создать Запрос на Оплату".
Укажите Имя Запроса, Сумму, Деноминацию Отображения, Связанный Магазин, Время Истечения & Описание (По Желанию)
Выберите опцию Разрешить плательщику создавать счета в их деноминации, если вы хотите разрешить частичные платежи.
Нажмите Сохранить & Просмотреть, чтобы ознакомиться с вашим запросом на оплату.
BTCPay создает URL для запроса на оплату. Поделитесь этим URL, чтобы просмотреть ваш запрос на оплату. Нужно несколько одинаковых запросов? Вы можете дублировать запросы на оплату, используя опцию Клонировать в главном меню.
ВНИМАНИЕ
Запросы на оплату зависят от магазина, что означает, что каждый запрос на оплату ассоциируется с магазином при создании. Убедитесь, что к вашему магазину подключен кошелек, к которому принадлежит запрос на оплату.
Оплаченный Запрос
Плательщик и запроситель могут просмотреть статус запроса на оплату после отправки платежа. Статус будет отображаться как Урегулировано, если платеж был получен полностью. Если были совершены только частичные платежи, в Долге будет показан оставшийся баланс.
Настройка Запросов на Оплату
Содержание описания можно редактировать с помощью текстового редактора запроса на оплату. Обе опции доступны, если вы хотите использовать дополнительные цветовые темы или пользовательские стили CSS. Пользователи, не обладающие техническими знаниями, могут использовать тему bootstrap. Дополнительная настройка может быть выполнена путем предоставления дополнительного кода CSS, как показано ниже.
:root {
--btcpay-font-family-base: "Source Sans Pro", -apple-system,
BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
--btcpay-primary: #7d4698;
--btcpay-primary-accent: #59316b;
--btcpay-body-text: #333a41;
--btcpay-body-bg: #fff;
--btcpay-bg-tile: #f8f9fa;
}
#mainNav {
color: white;
background: linear-gradient(#59316b, #331840);
}
#mainNav .btn-link {
color: white;
}
Платежи на вывод
Традиционно, получатель делится своим адресом Bitcoin для совершения платежа в Bitcoin, а отправитель позже отправляет деньги на этот адрес. Такая система называется платежом на отправку, поскольку отправитель инициирует платеж, в то время как получатель может быть недоступен, отправляя платеж получателю.
Но что, если поменять роли?
Что, если вместо того, чтобы отправитель инициировал платеж, отправитель позволяет получателю вывести платеж в удобное для него время? Это концепция платежа на вывод. Это позволяет реализовать несколько новых приложений, таких как:
- Сервис подписки (где подписчик позволяет сервису выводить деньги каждый определенный период времени)
- Возвраты (где продавец позволяет покупателю выводить деньги на свой кошелек, когда они сочтут это нужным)
- Оплата по времени для фрилансеров (где наниматель позволяет фрилансеру выводить деньги на его кошелек по мере отчета о времени)
- Патронаж (где патрон позволяет получателю выводить деньги каждый месяц для продолжения поддержки их работы)
- Автоматическая продажа (где клиент биржи позволяет бирже выводить деньги с его кошелька для продажи каждый месяц автоматически)
- Система вывода баланса (где сервис с большим объемом позволяет пользователям запрашивать вывод средств со своего баланса, сервис может затем легко обрабатывать все выплаты многим пользователям на фиксированных интервалах)
Выплаты
Функциональность выплат связана с Платежами на вывод. Эта функция позволяет создавать выплаты в вашем BTCPay. Эта функция позволяет обрабатывать платежи на вывод (возвраты, выплаты зарплаты или выводы средств).
Пример 1: Возврат
Давайте начнем с примера возврата. Клиент купил товар в вашем магазине, но, к сожалению, должен вернуть товар. Они хотят возврата. В BTCPay вы можете создать Возврат и предоставить клиенту ссылку для получения его средств. Как только клиент предоставит свой адрес и получит средства, это будет отображено в Выплатах.
Первый статус, который он имеет, - Ожидание одобрения. Клерки магазина могут проверить, если несколько из них ожидают, и после выбора вы используете кнопку Действия.
Опции на кнопке действий
- Одобрить выбранные выплаты
- Одобрить и отправить выбранные выплаты
- Отменить выбранные выплаты
Следующий шаг - Одобрить и отправить выбранные выплаты, так как мы хотим вернуть деньги клиенту. Проверьте адрес клиента, покажите сумму и решите, будут ли сборы вычитаться из возврата или нет. После проверки остается только подписать транзакцию. Клиент теперь получает обновления на странице Заявок на Вывод Средств. Он может следить за транзакцией, так как ему предоставлена ссылка на блок-эксплорер и его транзакцию. Как только транзакция подтверждена, и статус изменяется на Завершено.
Пример 2: Зарплата
Теперь давайте рассмотрим выплату зарплаты, поскольку она осуществляется изнутри магазина, а не по запросу Клиента. Суть та же; используются Выплаты по Запросу. Но вместо создания возврата, мы совершим Выплату по Запросу.
Перейдите на вкладку Выплаты по Запросу в вашем сервере BTCPay. В верхнем правом углу нажмите кнопку Создать Выплату по Запросу.
Теперь мы находимся в процессе создания Выплаты, дайте ей имя и желаемую сумму в нужной валюте, заполните Описание, чтобы сотрудник понимал, о чем идет речь. Следующий этап аналогичен возвратам. Сотрудник указывает Адрес назначения и сумму, которую он хочет запросить из этой Выплаты. Он может решить сделать это 2 отдельными запросами на разные адреса, или даже частично запросить через Lightning.
Если есть несколько ожидающих Выплат, вы можете сгруппировать их для подписи и отправки. После подписи выплаты переходят на вкладку В процессе и показывают Транзакцию. Когда сеть принимает выплату, она переходит на вкладку Завершено. Вкладка Завершено предназначена исключительно для исторических целей. Она содержит обработанные Выплаты и соответствующие им транзакции.
Выплаты по Запросу
Концепция
Когда отправитель настраивает Выплату по Запросу, он может настроить ряд свойств:
- Имя Запроса на Выплату
- Лимит суммы
- Единица измерения (например, BTC, SAT, USD)
- Способы оплаты
- BTC в цепочке
- BTC вне цепочки
- Описание
- Пользовательский CSS
- Конечная дата (необязательно для Lightning Network BOLT11)
После этого отправитель может поделиться выплатой по запросу с помощью ссылки с получателем, позволяя получателю создать выплату. Получатель выберет свою выплату:
- Какой способ оплаты использовать
- Куда отправить деньги
Как только выплата создана, она будет учитываться в пределах лимита выплаты по запросу за текущий период. Затем отправитель одобрит выплату, установив курс, по которому выплата будет отправлена, и произведет оплату.
Для отправителя мы предоставляем простой в использовании способ групповой оплаты нескольких выплат из Внутреннего Кошелька BTCPay.
Greenfield API
Сервер BTCPay предоставляет полный API как для отправителя, так и для
получателя, который документирован на странице /docs вашего
экземпляра. (или на сайте документации https://docs.btcpayserver.org)
Поскольку наш API раскрывает полные возможности выплат по запросу, отправитель может автоматизировать платежи в соответствии со своими потребностями.
Сводка навыков
В этом разделе вы узнали следующее:
- Глубокое понимание статусов счетов BTCPay Server, а также действий, которые можно на них выполнить.
- Настройка и управление механизмами счетов с продленным сроком действия, известными как Запросы.
- Дополнительные гибкие возможности платежей, открываемые уникальной функцией Выплат по Запросу BTCPay Server, в частности, как обрабатывать возвраты и выплаты зарплаты.
Оценка знаний
Концептуальный обзор KA
В чем некоторые различия между счетами и запросами на оплату, и какая может быть хорошая причина для использования последних?
Концептуальный обзор KA
Как выплаты по запросу расширяют то, что обычно можно сделать в цепочке? Опишите некоторые случаи их использования.
Стандартные плагины BTCPay Server
Стандартные плагины и приложения
BTCPay сервер предлагает стандартный набор плагинов (приложений), которые превращают BTCPay сервер в платежный шлюз для электронной коммерции. С добавлением точки продаж, платформы для краудфандинга и простой кнопки оплаты, BTCPay сервер становится легким в развертывании решением.
Точка продаж
Одним из стандартных плагинов BTCPay сервера является точка продаж (PoS). С помощью плагина PoS владелец магазина может создать веб-магазин непосредственно из BTCPay сервера, владельцу магазина не нужны сторонние решения для электронной коммерции для ведения веб-магазина. Веб-приложение PoS позволяет пользователям с магазинами реального мира легко принимать биткойны без комиссий или третьих лиц, напрямую в свой кошелек. PoS можно легко отобразить на планшетах или других устройствах, поддерживающих веб-просмотр. Пользователи могут легко создать ярлык на главном экране для быстрого доступа к веб-приложению.
Как создать новую точку продаж
BTCPay сервер позволяет владельцам магазинов быстро создавать точку продаж в нескольких макетах. BTCPay сервер понимает, что не каждый магазин является электронной коммерцией, и не каждый магазин является баром или рестораном, и он предлагает несколько стандартных настроек для вашей PoS.
Когда владелец магазина нажимает на "Точка продаж" в левом меню, BTCPay сервер теперь запросит название; это название будет видно в левом меню. Нажмите Создать, чтобы создать PoS.
Обновление вновь созданной точки продаж
После создания новой PoS следующий экран будет для обновления вашей точки продаж и добавления товаров для вашего магазина.
Название приложения
Название, данное здесь вашей точке продаж, будет видно в главном меню BTCPay сервера.
Отображаемое название
Публика увидит публичное название или имя при посещении вашего магазина. BTCPay сервер стандартно называет ваш магазин "Чайный магазин". Замените это на название вашего магазина.
Выбор стиля точки продаж
BTCPay сервер способен отображать свою точку продаж несколькими способами.
- Список продуктов
- Вид магазина, где клиенты могут покупать только 1 продукт за раз.
- Список продуктов с корзиной.
- Вид магазина, где клиенты могут покупать несколько товаров сразу и получать обзор корзины справа от своего экрана.
- Только клавиатура
- Нет списка продуктов, только клавиатура для прямого выставления счетов.
- Печатный дисплей (Печатный список продуктов с QR)
- Если вы не можете всегда отображать свой список продуктов в цифровом виде, вам нужно "офлайн" решение для продуктов; BTCPay сервер имеет печатный дисплей, который может функционировать как офлайн магазин.
Стиль точки продаж - Список продуктов
Стиль точки продаж - Список продуктов + Корзина
Стиль точки продаж - Только клавиатура
Стиль точки продаж - Печатный дисплей
Валюта
Владелец магазина может установить для своей точки продаж валюту, отличную от его общей установленной валюты по умолчанию. Валюта магазина по умолчанию автоматически заполнит это поле.
Описание
Расскажите миру о своем магазине; что вы продаете и по какой цене? Все, что объясняет ваш магазин, идет сюда.
Продукты
Когда создается Точка продаж, стандартный сервер BTCPay добавляет в магазин несколько товаров для справки. Нажмите кнопку "Редактировать" на любом из стандартных товаров, чтобы лучше понять каждую возможную опцию для товара.
Создание нового продукта в вашем магазине включает следующие поля:
- Название
- Цена (фиксированная, минимальная или настраиваемая)
- URL изображения
- Описание
- Инвентарь
- ID
- Текст кнопки "Купить"
- Включить/Отключить
Как только владелец магазина заполнит все поля нового продукта, нажмите на сохранить, и вы заметите, что раздел Продукты в Точке продаж теперь заполняется. Всегда убедитесь, что вы сохраняете в верхней правой части экрана, чтобы предотвратить потерю прогресса владельцами магазинов при добавлении продуктов.
Владельцы магазинов также могут использовать "Редактор кода" для настройки своих продуктов. Редактор кода требует базового понимания структур JSON.
Оформление заказа
Сервер BTCPay позволяет небольшую специфическую для PoS настройку оформления заказа. Владелец магазина может установить текст "Купить за x" или запросить конкретные данные клиента, добавив формы.
Чаевые
Не во всех магазинах нужна опция чаевых от их продаж. Владельцы магазинов могут включать или отключать это по мере необходимости для своего магазина. Если в магазине используется опция чаевых, владелец магазина может установить текст в поле для чаевых, который ему нравится. Чаевые на сервере BTCPay работают на основе процентной ставки. Владельцы магазинов могут добавлять несколько процентов с разделением запятыми.
Скидки
Как владелец магазина, вы можете предложить клиенту индивидуальную скидку при оформлении заказа; переключатель для Скидок становится доступным в кассе вашего магазина. Однако это очень не рекомендуется для систем самообслуживания.
Пользовательские платежи
Когда опция Пользовательских платежей включена, клиент может ввести свою цену, равную или выше оригинального счета, выставленного магазином.
Дополнительные опции
После настройки всего для вашей Точки продаж остаются некоторые дополнительные опции. Владельцы магазинов могут легко встроить свою PoS через Iframe или встроить кнопку оплаты, связанную с конкретным товаром магазина. Чтобы стилизовать только что созданный магазин PoS, владельцы могут добавить пользовательский CSS в нижней части дополнительных опций.
Удалить это приложение
Если владелец магазина хочет полностью удалить Точку продаж со своего
сервера BTCPay, в нижней части обновления PoS владельцы магазинов могут
нажать на кнопку "Удалить это приложение", чтобы полностью уничтожить свое
приложение PoS. При нажатии на "Удалить это приложение", сервер BTCPay
запросит подтверждение, путем ввода DELETE и подтверждения нажатием
на кнопку Удалить. После удаления владелец магазина возвращается на панель управления
сервера BTCPay.
BTCPay Server - Краудфандинг
Наравне с плагином Точки продаж, сервер BTCPay предлагает возможность создать краудфандинг. Как и любая другая платформа краудфандинга, владельцы магазинов могут установить цель, создать бонусы за вклады и настроить их по своим нуждам.
Как настроить новый краудфандинг
Нажмите на плагин Краудфандинг через главное меню слева от вашего сервера BTCPay, ниже раздела Плагины. Теперь сервер BTCPay запросит название для Краудфандинга; это название также будет отображаться в левой панели меню. Заголовок дан для Краудфандинга для общественности.
Слоган
Дайте краудфандингу однострочное описание, чтобы понять, о чем идет сбор средств.
URL изображения для анонса
У каждого краудфандинга есть главное изображение, один баннер, который вы узнаете сразу. Это изображение может быть сохранено на вашем сервере, если у вас есть административные права, администраторы могут загружать его в настройках сервера BTCPay Server - Файлы. Когда вы являетесь владельцем магазина, изображение должно быть загружено в интернет через сторонний хост (например, imgur).
Сделать краудфандинг публичным
Этот переключатель делает ваш краудфандинг публичным и, таким образом, видимым для внешнего мира. В целях тестирования или чтобы увидеть, правильно ли применена ваша тема, вы можете захотеть оставить этот параметр ВЫКЛ на период создания краудфандинга.
Описание
Расскажите миру о вашем краудфандинге, на что вы собираете средства? Все, что объясняет ваш краудфандинг, идет сюда.
Цель краудфандинга
Установите целевую сумму, которую должен собрать фонд для проекта, и в какой валюте должна быть выражена цель. Убедитесь, что если ваши цели установлены между датами, включите эти целевые и конечные даты под Целями в краудфандинге.
Бонусы
Бонусы очень помогают вашему краудфандингу. Это потому, что бонусы дают людям способ участвовать в вашей кампании. Они задействуют как эгоистичные, так и благотворительные мотивации. И они позволяют вам использовать расходы ваших сторонников, а не только их благотворительный кошелек -- можно догадаться, что более значимо.
Создание нового бонуса включает следующие поля:
- Название
- Цена (фиксированная, минимальная или настраиваемая)
- URL изображения
- Описание
- Количество
- ID
- Текст кнопки покупки
- Включить/Отключить
Как только владелец магазина заполнит все поля для создания нового бонуса, нажмите на сохранить, и вы заметите, что раздел Бонусы в краудфандинге теперь заполняется.
BTCPay Server - Точка продаж
Вклады
Владельцы магазинов могут выбирать, как отображать Бонусы, как они сортируются или даже ранжируются по сравнению с другими бонусами. Однако, как только цели Краудфандинга достигнуты, владельцы магазинов могут захотеть остановить поступление пожертвований на этот сбор средств. Поэтому он может включить "Не разрешать дополнительные вклады после достижения цели". Это остановит краудфандинг от принятия пожертвований.
Поведение краудфандинга
Стандарт краудфандинга учитывает только счета, созданные с краудфандингом, в сторону цели. Однако могут быть случаи, когда владелец магазина хочет, чтобы все счета, выставленные в этом магазине, учитывались в сторону краудфандинга.
Дополнительные опции для настройки
BTCPay Server предлагает несколько дополнительных настроек. Добавьте звуки, анимации или даже темы для обсуждения к краудфандингу. Владельцы магазинов также могут изменить внешний вид и ощущение краудфандинга, введя свой собственный пользовательский CSS.
Удалить это приложение
Если владелец магазина хочет полностью удалить краудфандинг из своего BTCPay
Server, внизу страницы обновления краудфандинга владельцы магазинов могут
нажать на кнопку "Удалить это приложение", чтобы полностью уничтожить их
приложение краудфандинга. При нажатии "Удалить это приложение", BTCPay
Server запросит подтверждение, попросив ввести DELETE и подтвердить
нажатием на кнопку Удалить. После удаления владелец магазина возвращается на
панель управления BTCPay Server.
BTCPay Server - Кнопка оплаты
Легко встраиваемые HTML и высоко настраиваемые кнопки оплаты позволяют владельцам магазинов получать чаевые и пожертвования. В левом меню BTCPay Server, ниже раздела Плагины, владельцы магазинов могут нажать на "Pay Button" (Кнопка оплаты) и выбрать Enable (Включить), чтобы создать кнопку оплаты.
Общие настройки
В общих настройках для кнопки оплаты владельцы магазинов могут установить:
- Стандартную цену
- Валюту по умолчанию
- Способ оплаты по умолчанию
- Использовать стандарт магазина
- BTC через блокчейн
- BTC вне блокчейна (Lightning)
- BTC вне блокчейна (LNURL-pay)
- Описание при оформлении заказа
- ID заказа
Опции отображения
Кнопку оплаты BTCPay Server можно настроить под разные стили. Кнопки могут иметь фиксированную или настраиваемую сумму, отображаемую либо с помощью ползунка, либо с помощью кнопок плюс и минус.
Использование модального окна
Создавая кнопку оплаты, владельцы магазинов могут выбрать её поведение при клике покупателя и показать её в модальном окне или на новой странице.
!?Внимание!?
Предупреждение: Кнопка оплаты должна использоваться только для чаевых и пожертвований.
Использование кнопки оплаты для интеграции с электронной коммерцией не рекомендуется, поскольку пользователь может изменить информацию, относящуюся к заказу. Для электронной коммерции следует использовать наш Greenfield API. Если этот магазин обрабатывает коммерческие транзакции, мы советуем вам создать отдельный магазин перед использованием кнопки оплаты.
Настройка текста кнопки оплаты
По умолчанию на кнопке оплаты BTCPay Server написано "Pay With BTCPay" (Оплатить через BTCPay). Владельцы магазинов могут изменить этот текст на желаемый и заменить логотип BTCPay Server на свой. Установите текст, используя "Pay Button Text" (Текст кнопки оплаты), и вставьте URL изображения под "Pay Button Image URL" (URL изображения кнопки оплаты).
Размер изображения
Размер изображения на кнопке может быть установлен только на три стандарта.
- 146x40px
- 168x46px
- 209x57px
Тип кнопки
BTCPay Server знает о трех состояниях кнопки оплаты.
- Фиксированная сумма
- Ранее установленная цена указывается в общих настройках кнопки.
- Настраиваемая сумма
- У кнопки оплаты BTCPay Server есть кнопки + и -, чтобы установить настраиваемую цену.
- При использовании настраиваемой суммы, BTCPay Server будет запрашивать минимальную, максимальную сумму и то, как она должна постепенно увеличиваться.
- Кнопки могут быть настроены на "Использовать простой стиль ввода". Это убирает кнопки +/-.
- Разместить кнопку в линию, где кнопка и переключатели отображаются в одной линии.
- Ползунок
- Похож на настраиваемую сумму, но визуально отличается наличием ползунка вместо кнопок +/-.
- При использовании ползунка, BTCPay Server будет запрашивать минимальную, максимальную сумму и то, как она должна постепенно увеличиваться.
!?Внимание!?
Удаление кнопки оплаты можно выполнить в верхней части в предупреждающем описании.
Уведомления об оплате
IPN сервера (Мгновенное уведомление об оплате) предназначен для вебхуков и может быть заполнен URL для отправки данных после покупки.
Уведомления по электронной почте
Каждый раз, когда происходит оплата, BTCPay Server может уведомить владельца магазина.
Перенаправление в браузере
Когда покупатель завершает покупку, он будет перенаправлен на эту ссылку, если она установлена владельцем магазина.
Расширенные опции кнопки оплаты
Укажите дополнительные параметры строки запроса, которые должны быть
добавлены к странице оформления заказа после создания счета. Например, lang=da-DK загрузит страницу оформления заказа на датском языке по умолчанию.
Использовать приложение в качестве конечной точки
Прямо связать кнопку оплаты с товаром в одном из приложений PoS или Crowdfund до этого. Владельцы магазинов могут нажать на выпадающее меню и выбрать желаемое приложение; после выбора приложения владелец магазина может добавить товар, который нужно связать.
Сгенерированный код
Так как кнопка оплаты BTCPay Server является легко встраиваемым HTML, BTCPay Server показывает сгенерированный код для копирования на веб-сайт внизу после настройки кнопки оплаты.
Владельцы магазинов могут скопировать сгенерированный код на свой веб-сайт, и кнопка оплаты от BTCPay Server будет непосредственно активна на их веб-сайте.
Уведомления об оплате
IPN сервера (Мгновенное уведомление об оплате) предназначен для вебхуков и может быть заполнен URL-адресом для отправки данных о покупке.
Уведомления по электронной почте
Каждый раз, когда происходит оплата, BTCPay Server может уведомить владельца магазина.
Перенаправление в браузере
Когда покупатель завершает покупку, он будет перенаправлен на эту ссылку, если владелец магазина ее установил.
Расширенные опции кнопки оплаты
Укажите дополнительные параметры строки запроса, которые должны быть
добавлены к странице оформления заказа после создания счета. Например, lang=da-DK загрузит страницу оформления заказа на датском языке по умолчанию.
Использование приложения в качестве конечной точки
Напрямую связать кнопку оплаты с товаром в одном из приложений PoS или Crowdfund ранее. Владельцы магазинов могут нажать на выпадающее меню и выбрать желаемое приложение, после выбора приложения владелец магазина может добавить товар, который нужно связать.
Сгенерированный код
Так как кнопка оплаты BTCPay Server является легко встраиваемым HTML, BTCPay Server показывает сгенерированный код для копирования на веб-сайт внизу после настройки кнопки оплаты. Владельцы магазинов могут скопировать сгенерированный код на свой веб-сайт, и кнопка оплаты от BTCPay Server будет непосредственно активна на их веб-сайте.
Сводка навыков
В этом разделе вы узнали:
- Как использовать интегрированный плагин PoS от BTCPay Server для легкого создания пользовательского магазина
- Как использовать интегрированный плагин Crowdfund от BTCPay Server для легкого создания пользовательского приложения для сбора средств
- Генерация кода для пользовательской кнопки оплаты с использованием плагина кнопки оплаты
Оценка знаний
Обзор KA
Какие три встроенных плагина поставляются стандартно с BTCPay Server? Несколькими словами опишите, как каждый из них может быть использован.
Настройка BTCPay Server
Основное понимание установки BTCPay Server в среде LunaNode
Установка BTCPay Server на хостинге Env. (LunaNode)
Эти шаги предоставят всю необходимую информацию для начала использования BTCPay Server на LunaNode. Существует множество вариантов развертывания программного обеспечения. Вы можете найти все детали BTCPay Server на https://docs.btcpayserver.org.
С чего начать?
В этой части вы познакомитесь с LunaNode как с провайдером хостинга, узнаете о первых шагах использования вашего BTCPay Server и как работать с Lightning Network. После того, как мы пройдем через все шаги, вы сможете запустить веб-магазин или платформу для сбора средств, принимающую Bitcoin!
Это один из многих способов развертывания BTCPay Server. Читайте нашу документацию для получения более подробной информации,
https://docs.btcpayserver.org.
Развертывание BTCPay Server - LunaNode
Сначала перейдите на сайт LunaNode.com, где мы создадим новый аккаунт.
Нажмите на "Sign Up" в верхнем правом углу или используйте мастер начала
работы на их главной странице. 
После того, как вы создали новый аккаунт, LunaNode отправляет письмо для верификации. После того как вы подтвердите аккаунт, в отличие от Voltage, вам сразу предлагается пополнить баланс вашего аккаунта. Этот баланс необходим для оплаты пространства на сервере и хостинга.
Пополнение баланса вашего аккаунта на LunaNode
После того как вы нажмете "Deposit credit", вы сможете выбрать, сколько вы хотите пополнить и каким способом вы хотите это сделать. LunaNode и BTCPay Server будут стоить от 10 до 20 долларов США в месяц. В отличие от Voltage.cloud, вы получаете полный доступ к вашему Виртуальному Частному Серверу (VPS отсюда и далее) и, следовательно, имеете больше контроля над вашим сервером. После создания нового аккаунта, LunaNode отправляет письмо для верификации. После подтверждения аккаунта, в отличие от Voltage, вам сразу предлагается пополнить баланс вашего аккаунта. Этот баланс необходим для оплаты пространства на сервере и хостинга.
Как развернуть новый сервер?
В этом руководстве мы пройдем через процесс создания набора API ключей и использования запускалки BTCPay Server, созданной LunaNode.
В вашей панели управления LunaNode нажмите на API в верхнем правом углу. Это откроет новую страницу. Нам нужно только задать имя для API ключа. Остальное будет настроено LunaNode и не будет охвачено в этом руководстве. Нажмите кнопку "Create API Credential". После создания учетных данных API вы получите длинную строку букв и символов. Это ваш API ключ.
Как развернуть новый сервер?
У этих учетных данных есть 2 части, API ключ и API ID; нам понадобятся оба. Прежде чем перейти к следующему шагу, давайте откроем вторую вкладку в браузере и перейдем на https://launchbtcpay.lunanode.com/
Здесь вас попросят предоставить ваш API ключ и API ID. Это для подтверждения, что именно вы развертываете этот новый сервер. API ключ должен быть все еще открыт в предыдущей вкладке; если вы прокрутите таблицу ниже, вы найдете API ID.
Вернитесь на страницу с запускалкой, заполните поля вашим API ключом и ID, и нажмите продолжить.
На следующем шаге вы можете предоставить имя домена. Если у вас уже есть
домен и вы хотите использовать его для BTCPay Server, убедитесь, что вы
также добавили DNS запись (называемую A записью) для вашего домена.
Если у вас нет домена, используйте предоставленный LunaNode домен вместо этого
(вы можете изменить это позже в настройках BTCPay Server) и нажмите Продолжить.
Узнайте больше о настройке или изменении DNS записи для BTCPay Server; https://docs.btcpayserver.org/FAQ/Deployment/#how-to-change-your-btcpay-server-domain-name
Запуск BTCPay Server на LunaNode
После выполнения предыдущих шагов, мы можем настроить все опции для нашего нового сервера. Здесь мы выберем Bitcoin (BTC) в качестве поддерживаемой валюты; мы можем указать электронную почту, чтобы получать уведомления о продлении сертификатов шифрования; это не обязательно. Это руководство направлено на настройку среды Mainnet (реальный мир Bitcoin); однако LunaNode также позволяет вам настроить это для Testnet или Regtest в целях разработки. В этом руководстве мы оставим опцию Mainnet. Выберите вашу реализацию Lightning. LunaNode предлагает две разные реализации, LND и Core Lightning. Для этого руководства мы выберем LND. Между обеими реализациями есть небольшие, но значимые различия; для более подробной информации рекомендуем прочитать обширную документацию; https://docs.btcpayserver.org/LightningNetwork#getting-started-with-btcpay-server-and-core-lightning-cln
LunaNode предлагает несколько планов Виртуальной Машины (VM). Они отличаются диапазонами цен и спецификациями сервера. Для этого руководства будет достаточно плана m2; однако, если вы выбрали в качестве валюты не только Bitcoin, рассмотрите использование как минимум m4.
Ускорьте начальную синхронизацию блокчейна; это необязательно и зависит от ваших потребностей. Есть продвинутые опции, такие как установка Lightning Alias, указание на конкретный релиз GitHub или установка SSH ключей; ни одна из этих опций не будет затронута в этом руководстве.
После заполнения формы вам нужно нажать Launch VM, и Lunanode начнет создание вашей новой VM, включая установленный на ней BTCPay Server. Этот процесс занимает пару минут; как только ваш сервер будет готов, LunaNode предоставит вам ссылку на ваш новый BTCPay Server.
После процесса создания нажмите на ссылку к вашему BTCPay Server; здесь вас попросят создать учетную запись администратора.
Сводка навыков
В этом разделе вы узнали:
- Создание и пополнение аккаунта на LunaNode
- Использование BTCPay Server Launcher для создания собственного сервера
Оценка знаний
Концептуальный обзор KA
Опишите некоторые различия между запуском экземпляра BTCPay Server на VPS и созданием аккаунта на хостинговом экземпляре.
Установка BTCPay Server в среде Voltage
Вы познакомитесь с Voltage.cloud как с провайдером хостинга, узнаете о первых шагах использования вашего BTCPay Server и научитесь работать с Lightning Network. После того, как мы пройдем через все шаги, вы сможете управлять интернет-магазином или платформой для сбора средств, принимающей Bitcoin!
Это один из многих способов развертывания BTCPay Server. Читайте нашу документацию для получения более подробной информации, https://docs.btcpayserver.org.
Развертывание BTCPay Server - Voltage.cloud
Сначала перейдите на сайт Voltage.cloud и зарегистрируйте новый аккаунт. При создании аккаунта вы можете подписаться на 7-дневную бесплатную пробную версию. Либо нажмите на "Sign Up" в верхнем правом углу, либо используйте "Try a free 7 day trial" на их домашней странице.
После создания аккаунта нажмите кнопку NODES на вашей панели управления.
Как только мы выберем Nodes и создадим новый узел, нам будут представлены возможные
узлы, которые предлагает Voltage. Поскольку это руководство также касается LightningNetwork,
в Voltage мы сначала должны выбрать нашу реализацию Lightning, прежде чем мы
создадим BTCPay Server. Нажмите на LightningNode.
Здесь вам нужно будет выбрать, какой тип узла Lightning вы хотите. Voltage предлагает
разнообразие вариантов для вашей световой установки. Это отличается от развертывания,
например, с LunaNode. Для целей этого руководства будет достаточно Lite Node.
Подробнее о различиях читайте на Voltage.cloud. 
Дайте вашему узлу Имя, установите пароль и обезопасьте этот пароль. Если этот пароль будет потерян, вы потеряете доступ к вашим резервным копиям, и Voltage не сможет его восстановить. Создайте узел, и Voltage покажет вам прогресс. Voltage создал ваш узел Lightning. Теперь мы можем создать экземпляр BTCPay Server и напрямую получить доступ к сети Lightning.
Нажмите на "Узлы" в верхнем левом углу вашей панели управления. Здесь вы можете настроить следующую часть вашего экземпляра BTCPay Server. Нажмите "создать новый", как только вы окажетесь в обзоре узлов. Вы увидите экран, похожий на предыдущий. Теперь вместо узла Lightning мы выбираем BTCPay Server.
Voltage покажет вам геолокацию вашего BTCPay Server, хостинг расположен в регионе Запад США. Здесь вы также увидите стоимость хостинга сервера. Нажмите Создать и дайте вашему BTCPay Server имя. Включите Lightning, и Voltage покажет вам узел Lightning, созданный на предыдущем шаге. Нажмите Создать, и Voltage создаст экземпляр BTCPay Server.
После нажатия на создать, Voltage представит вам стандартные имя пользователя и пароль. Они похожи на ваш предыдущий установленный пароль в Voltage. Нажмите на кнопку Войти в аккаунт, чтобы перенаправить вас на ваш BTCPay Server.
Добро пожаловать в ваш новый экземпляр BTCPay Server. Поскольку мы уже настроили Lightning в процессе создания, он покажет вам, что Lightning уже включен!
Сводка навыков
В этой главе вы узнали:
- Создание аккаунта на Voltage.cloud
- Шаги по запуску BTCPay Server вместе с узлом Lightning на аккаунте
Оценка знаний
Концептуальный обзор
В чем некоторые ключевые отличия между настройками Voltage и LunaNode?
Установка BTCPay Server на узле Umbrel
По завершении этих шагов вы сможете принимать платежи в Lightning в вашем магазине BTCPay на вашей локальной сети. Этот процесс также применим, если вы используете узел umbrel в ресторане или бизнесе. Если вы хотите подключить этот магазин к публичному веб-сайту, следуйте продвинутому упражнению, чтобы открыть ваш узел umbrel для публичного доступа.
Развертывание BTCPay Server - Umbrel
После того как ваш узел Umbrel полностью синхронизируется с блокчейном Bitcoin, перейдите в Umbrel App Store и ищите BTCPay Server в разделе Приложения.
Нажмите на BTCPay Server, чтобы увидеть детали приложения. Когда детали BTCPay Server открыты, в нижнем правом углу показаны требования для корректной работы приложения. Указано, что для работы требуются узлы Bitcoin и Lightning. Если вы еще не установили узел Lightning на вашем Umbrel, нажмите Установить. Этот процесс может занять несколько минут.
После установки вашего узла Lightning:
- Нажмите открыть в деталях приложения или на приложении в панели управления Umbrels.
- Нажмите настроить новый узел; вам будут показаны 24 слова для восстановления вашего узла Lightning.
- Запишите их.
Umbrel запросит подтверждение введенных слов. После настройки узла Lightning
вернитесь в магазин приложений Umbrel и найдите BTCPay Server. Нажмите кнопку
установки, и Umbrel покажет, установлены ли необходимые компоненты и требует
ли BTCPay Server доступа к этим компонентам. После установки нажмите Открыть
в верхнем правом углу деталей приложения или откройте BTCPay Server через панель
управления Umbrel.
Umbrel запросит подтверждение введенных слов.
!?Примечание!?
Убедитесь, что вы храните их в надежном месте, как было ранее изучено при хранении ключей.
После настройки узла Lightning вернитесь в магазин приложений Umbrel и найдите BTCPay Server. Нажмите кнопку установки, и Umbrel покажет, установлены ли необходимые компоненты и требует ли BTCPay Server доступа к этим компонентам.
После установки нажмите Открыть в верхнем правом углу деталей приложения или откройте BTCPay Server через панель управления Umbrel.
Сводка навыков
В этом разделе вы узнали:
- Шаги по установке BTCPay Server с функциональностью Lightning на узле Umbrel
Оценка знаний
Концептуальный обзор
В чем отличие настройки на Umbrel от двух предыдущих вариантов размещения?
Заключительный раздел
Отзывы & Оценки
d90bb93d-b894-551e-9fd6-6855c739a904 true
Заключение курса
c07ac2a5-f97e-5c57-8a80-4955b48128d4 true