Неофициальное руководство по интеграции Qubic Services
Интегрируйте Qubic в существующие сервисы через полную ноду, удаленную ноду, архивный сервер или API, с разным уровнем контроля и сложности.
Qsilver · 17 февраля 2024 г.
Введение
Интеграция Qubic в существующие сервисы может быть осуществлена четырьмя основными способами, каждый из которых предлагает разный уровень контроля и сложности:
- Запуск полной ноды: Прямой доступ к данным в памяти для операций.
- Запуск удаленной ноды: Запрос данных у публичных полных нод для операций.
- Запуск архивного сервера: Создание локального полного архива всех данных Qubic для операций.
- Интерфейс с сервером API Qubic: Самый простой метод, но с меньшим контролем над доступностью данных.
Чем ниже номер, тем больше работы требуется, но тем больше контроля у вас над доступностью данных. Независимо от выбранного уровня, важно понимать критические различия Qubic.
Важные отличия Qubic
Для сервисов, работающих с денежной стоимостью, два самых важных отличия Qubic таковы:
- Даже если txid включен в проверенный тик, он может ничего не сделать.
- Баланс адреса может быть изменен без конкретной транзакции перехода от A к B, например, с помощью операции смарт-контракта.
Из-за этих различий обработка Qubic должна основываться на изменениях баланса адреса, чтобы изменения, вызванные смарт-контрактами, не запутывали логику.
Обработка депозитов
Чтобы упростить обработку депозитов, рекомендуется использовать обычные транзакции. Депозиты, сделанные с использованием смарт-контрактов, могут быть проигнорированы или обработаны вручную (с дополнительной платой для покрытия затрат).
- Переберите все транзакции в каждом тике и определите адреса назначения, принадлежащие клиентам.
- Пометьте эти адреса для проверки баланса.
- Получите информацию о сущности для помеченных адресов, чтобы узнать, какие из них получили новые средства.
- Обновите текущую информацию о сущности для адресов, которые получили новые средства.
Изменения баланса могут не совпадать с суммой транзакции из-за сбоев txid или депозитов смарт-контрактов. Игнорирование депозитов SC гарантирует, что пользователь получит кредит за депозиты SC, даже если txid провалился.
Обработка депозитов на основе баланса
Этот метод может потребовать больше пропускной способности, но подходит для средних сервисов, опрашивающих сотни тысяч адресов по сети через удаленную ноду. Он гарантирует, что все методы депозита правильно зачисляются, улучшая пользовательский опыт.
- Поддерживайте последние проверенные данные сущности для каждого адреса пользователя.
- В цикле опроса сравнивайте последние данные сущности с проверенными данными сущности.
- Проверяйте последние данные сущности с помощью дерева Меркла.
- Если они проходят проверку, обновите проверенные данные сущности и создайте событие депозита на основе разницы в общих депозитах.
Обработка выводов
Малые объемы
- Получите проверенные данные сущности для адреса отправителя.
- Поставьте в очередь транзакцию на вывод на основе пункта назначения и суммы.
- Сгенерируйте ожидаемые данные сущности для outgoingAmount и текущего outgoingAmount + сумма вывода.
- Обработайте очередь, создавая и транслируя транзакцию на вывод.
- После определенного тика проверьте, изменились ли данные сущности outgoingAmount на ожидаемую сумму.
- Если это произошло, отметьте вывод как завершенный, удалите его из очереди и обновите проверенные данные сущности. Если нет, повторите процесс.
Средние объемы
- Используйте команду SENDMANY SC, чтобы сгруппировать до 25 выводов в одной транзакции.
- Примените ту же логику, что и для малых объемов, используя SENDMANY вместо простых транзакций на отправку.
- Один адрес, использующий SENDMANY, может достигать около 100 выводов в минуту.
Большие объемы
- Используйте приложение sendmany, чтобы отправить до 15,625 платежей, завершив за около 20 тиков (~8000 выводов в минуту).
- Приложение sendmany использует SENDMANY SC в трехуровневой фанатике. Платежи указываются в .csv файле, обрабатываются для расчета общей суммы и отправляются на специальный адрес.
- Как только средства прибудут, они распределяются в три поколения (25 x 25 x 25 платежей).
Репозиторий sendmany
Для деталей о программе sendmany посетите репозиторий:
Заключение
Интеграция Qubic в существующие сервисы требует тщательного подхода к обработке данных, особенно для денежных транзакций. Выбирая соответствующий метод интеграции и понимая уникальные аспекты Qubic, сервисы могут эффективно управлять депозитами и выводами на разных масштабах.
Читайте серию Qsilver «Неофициальная»
- Неофициальный промежуточный документ Qubic
- Детали Qubic Crypto
- Неофициальное руководство по интеграции Qubic Services
- Неофициальное руководство по написанию смарт-контрактов Qubic
Чтобы быть в курсе последних обновлений, присоединяйтесь к Discord-серверу Valis, подпишитесь на нас в X и добавьте наш блог в закладки.
← Предыдущий