Открытый стандарт · Версия 1.0

Bob SPV Helper API v1

Независимый от провайдера контракт для подключения лёгкого SPV-кошелька Bob к данным только для чтения полностью проверяющего узла Handshake.

Что делает вспомогательный сервис

Режим SPV проверяет заголовки и операции кошелька без хранения полного состояния цепочки Handshake. Вспомогательный сервис предоставляет индексированные блоки, транзакции, монеты, оценки комиссий и состояние имён, которые Bob не может надёжно восстановить локально.

Вспомогательный сервис никогда не получает секретные фразы восстановления или закрытые ключи, не подписывает от имени пользователя и не отправляет транзакции в сеть. Bob подписывает локально и отправляет через собственные соседние узлы Handshake.

Требования к провайдеру

  • Предоставляйте API по HTTPS со стабильным базовым URL.
  • Используйте полностью синхронизированный полный узел HSD основной сети без усечения данных.
  • Включите индексы транзакций и адресов.
  • Открывайте только документированные маршруты REST и методы JSON-RPC для чтения.
  • Сохраняйте стандартное значение ответов HSD и целочисленные суммы в dollary.
  • Отклоняйте методы RPC для кошелька, майнинга, администрирования и изменения состояния.
  • Защищайте закрытый API-ключ HSD и размещайте перед HSD шлюз с ограниченным доступом.

Обязательные интерфейсы API

СпособПутьНазначение
GET/hsdИнформация об узле
GET/hsd/block/:idПоиск блока
GET/hsd/tx/:hashПоиск транзакции
GET/hsd/coin/:hash/:indexПоиск текущей монеты
POST/hsd/tx/addressИстория адреса
POST/hsdРазрешённый JSON-RPC только для чтения

Обязательные методы JSON-RPC: estimatesmartfee, getblockbyheight, getblockchaininfo, getnamebyhash, getnameinfo и verifymessage.

Безопасная регистрация имени

Прежде чем Bob добавит средства в транзакцию REGISTER или подпишет её, он должен запросить getnameinfo через настроенный сервис и проверить имя, хеш имени, состояние CLOSED, высоту аукциона, выигравший outpoint, состояние регистрации и окончательную стоимость аукциона.

Выход REGISTER должен в точности равняться result.info.value. Это целое число dollary. info.highest, подписи в обозревателе, отображаемый HTML и десятичные строки отображения никогда не должны заменять его. Выигрыши с нулевой стоимостью остаются допустимыми.

Если ответ сервиса отсутствует или расходится с локальным состоянием кошелька Bob, Bob должен остановиться до подписания или отправки в сеть.

Совместимость и соответствие

Bob должен работать с любым соответствующим требованиям провайдером; ни одно правило транзакций не должно зависеть от имени хоста провайдера. Дополнительные неизвестные поля ответа допустимы, но изменение значения полей или единиц суммы требует новой основной версии.

Прежний провайдер HandshakeAPI и LearnHNS вернули одинаковые критичные для консенсуса данные имён при сравнении работающих сервисов 7 августа 2026 г. LearnHNS добавил только необязательное поле start.locked.

Прочитайте или скачайте стандарт в формате Markdown (на английском). Эталонный шлюз поддерживает автоматические аудиты провайдеров и тесты совместимости с этим контрактом.

Текущие провайдеры

  • LearnHNS: https://spv.learnhns.com/hsd
  • Прежний сервис: https://api.handshakeapi.com/hsd, ожидается прекращение работы после 31 августа 2026 г.

Включение провайдера в список документирует совместимость, а не хранение средств или рекомендацию. В Bob LearnHNS можно настроить другого проверенного провайдера v1 в Settings → Network & Connection → SPV Helper API. В оригинальном Bob 2.1.0 нет настройки URL сервиса, и выполнить этот переход в нём нельзя.

Где проверить вспомогательный сервис в Bob LearnHNS.