Сайт в разработке

Сайт в разработке: мы создаём его к запуску MainNet. Детали будут меняться.

Этот сайт ещё строится

ZooBC развивается открыто. Всё, что вы здесь видите, актуально и честно, но ещё не завершено: воспринимайте это как картину того, где мы находимся сегодня, а не как окончательное заявление.

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

Экосистема ZooBC появляется поэтапно. Кошелёк, обозреватель и каналы сообщества запускаются по мере приближения MainNet, и этот сайт растёт вместе с ними.

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

ZOOBC / РУКОВОДСТВО

Кошелёк ZooBC: руководство пользователя

Руководство по кошельку

Переписано на основе руководства V0.36 для кошелька V0.51. Терминология обновлена: в блокчейне game/games переименованы в app/apps, поэтому эндпоинты имеют вид /api/v1/apps, а ключи называются app_type.

Версия V0.36 · июль 2026

В этом руководстве описаны все экраны, вкладки, поля и типы транзакций кошелька ZooBC. Кошелёк представляет собой один HTML-файл, который целиком работает в вашем браузере: ключи никогда не покидают ваше устройство, все транзакции собираются и подписываются локально, а в сеть отправляются только готовые подписанные байты.


Содержание

  1. Основные понятия
  2. Начало работы
  3. Основной интерфейс
  4. ГЛАВНАЯ: Панель, Задачи, Активные, Активность
  5. КОШЕЛЁК: Отправить, Получить, Депозит, Вывод, Запланированные, Мультиподпись, Политика
  6. АКТИВЫ: Токены, Файлы, Биржа, Маркетплейс
  7. ОБЩЕНИЕ: Контакты, В сети, Чат, Звонки
  8. БИЗНЕС: Счета, Формы, Нотариус
  9. ПРИЛОЖЕНИЯ: Аркада
  10. ДОПОЛНИТЕЛЬНО: Ключи и сиды, Бумажный кошелёк, Отправка
  11. СИСТЕМА: Настройки, Узел, Сеть, Шлюзы, Ретрансляторы, Управление
  12. Справочник по транзакциям
  13. Устранение неполадок
  14. Глоссарий

1. Основные понятия

1.1 Монета и её единицы

Нативная монета называется ZBC. В блокчейне каждая сумма хранится в атомарных единицах: 1 ZBC = 100 000 000 атомарных единиц (10⁸). Кошелёк всегда показывает привычные суммы и выполняет пересчёт на входе и выходе. У выпущенных токенов собственное число знаков после запятой (0–8), и они тоже хранятся в базовых единицах.

1.2 Аккаунты и форматы адресов

Один кошелёк может содержать аккаунты на разных схемах ключей. Каждый аккаунт хранится в блокчейне как типизированный аккаунт: 4-байтовый префикс типа + ключевой материал. Поддерживаемые форматы:

ФорматТипСхема ключейВид адреса
ZooBC0ed25519ZBC_XXXX_… (base32 + контрольная сумма)
Ethereum / BNB4secp256k1 + keccak0x… (те же байты, другая метка)
Bitcoin legacy (P2PKH)5secp256k11…
Bitcoin P2SH6(только получение)3…
Bitcoin SegWit (P2WPKH)7secp256k1bc1q…
Bitcoin P2WSH8(только получение)bc1q… (длинный)
Bitcoin Taproot9BIP-340 schnorrbc1p…
Депозит набора данных10(аккаунт аренды объекта)ZBS_…
Solana11ed25519открытый ключ base58
Polkadot12sr25519 (Schnorrkel)SS58
Cardano13ed25519addr1…
Ripple14secp256k1r…
Tron15secp256k1 + keccakT…
Tezos16ed25519tz1…

Аккаунт любого формата может отправлять и получать средства в блокчейне ZooBC: аккаунт в формате Bitcoin подписывает транзакции ZooBC своим ключом Bitcoin. Адрес выводится точно так же, как в исходном блокчейне, поэтому депозит через мост из этого блокчейна автоматически зачисляется на зеркальный аккаунт (см. Депозит).

Пути деривации (из фразы BIP-39): ZooBC m/44'/883'/account' (SLIP-0010 ed25519); ETH/BNB BIP-44 coin 60; BTC BIP-44/84/86 для legacy/SegWit/Taproot; Solana m/44'/501'/account'; Cardano coin 1815; Tezos coin 1729; Polkadot использует деривацию mini-secret из substrate.

1.3 Транзакции, комиссии, эскроу

Любое действие в блокчейне является подписанной транзакцией с номером типа, комиссией в ZBC, необязательным сообщением и необязательной обёрткой эскроу (одобряющий + срок + вознаграждение + инструкция). Сетевая комиссия по умолчанию составляет 0,05 ZBC (база 0,025 + запас для транзакций с данными); кошелёк подставляет её автоматически и сам повышает для больших сообщений. Полный список типов приведён в разделе 12.

1.4 Шлюзы, узлы, ретрансляторы

  • Узел проверяет блокчейн.
  • Шлюз представляет собой веб-сервер, с которым общается кошелёк; он отдаёт кошелёк и обозреватель и стоит перед одним или несколькими узлами.
  • Ретранслятор представляет собой сервер звонков и присутствия, работающий на шлюзе; он передаёт сигнализацию звонков и статус «в сети».
  • Архивный узел дополнительно отдаёт полную историю и API обозревателя.

Если настроенный шлюз перестаёт работать, кошелёк автоматически переключается на резерв: текущий узел → встроенные резервные → ваши дополнительные узлы (Настройки → Узел) → шлюзы из реестра в блокчейне.

1.5 Аренда хранилища и срок жизни объектов

За данные, записанные в блокчейн (наборы данных, сохранённые файлы, токены), взимается аренда хранилища. У каждого объекта есть пополняемый депозитный адрес ZBS_, выведенный из создавшей его транзакции; когда депозит заканчивается, объект может быть удалён. Вы можете продлить срок жизни любого объекта (см. Файлы → Объекты).

1.6 Модель безопасности

  • Ваша фраза восстановления или ключ никогда не покидает страницу; подписание выполняется локально.
  • Данные на устройстве хранятся в зашифрованном хранилище, защищённом 6-значным PIN-кодом (5 неверных попыток стирают хранилище, а фраза восстанавливает его).
  • Возможна разблокировка с помощью ключа доступа (Face ID / Touch ID / Windows Hello).
  • Аккаунты только для просмотра видят всё, но не могут подписывать; страницы, требующие ключа, скрыты.
  • Режим air-gap подписывает офлайн и экспортирует JSON/QR вместо отправки в сеть.

2. Начало работы

2.1 Прежде чем открыть, убедитесь в подлинности файла

Этот кошелёк представляет собой один файл, который вы открываете в браузере и затем вводите в него фразу восстановления. Поддельная

копия выглядит так же и ведёт себя нормально вплоть до момента, когда отправляет вашу фразу куда-то

ещё. Ничто на экране не может вас предупредить, ведь к этому моменту предупреждения показывает уже сама поддельная страница.

Поэтому проверьте файл до того, как открыть его. Это займёт около десяти секунд.

Простой способ. Откройте /verify на шлюзе, с которого вы скачали файл, и перетащите файл в поле.

Проверка выполняется в вашем собственном браузере, файл никуда не загружается.

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

и он изменится полностью, а подобрать другой файл с тем же

отпечатком не сможет никто.


sha256sum "ZooBC Wallet.html"

Сравните результат посимвольно с хешем, опубликованным для этого файла.

Затем спросите себя, кто сообщил вам отпечаток. Именно это важно, и страница /verify

говорит об этом прямо:

что там написаночто это значит
в блокчейнеХеш был подписан в блок издателем релизов: это единственный ключ, зафиксированный в генезисе блокчейна, которому разрешено регистрировать хеши файлов. Эта запись есть у каждого узла. Веб-сайт не может её изменить, подделать или удалить.
так утверждает этот шлюзХеш получен с сайта, который вы сейчас просматриваете. Это выявит повреждённую загрузку или небрежную подделку. Но это не поможет, если злоумышленником является сам сайт: тогда и файл, и его отпечаток поддельные и идеально совпадают.
ОТОЗВАН в блокчейнеИздатель опубликовал этот файл, а затем отозвал его, обычно потому, что тот оказался скомпрометирован или неисправен. Это хуже, чем неизвестный файл, а не лучше: у блокчейна есть конкретная информация именно о нём. Удалите его и скачайте актуальный файл. Если сайт всё ещё предлагает его, это повод для большего подозрения, а не меньшего.

Во всём, что касается денег, настаивайте на совпадении в блокчейне. Шлюз, ручающийся за собственные

загрузки, не является доказательством.

Как проверить, вообще не доверяя ни одному сайту. Всё описанное выше по-прежнему работает на странице, которую вам

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

сами. Две команды:


sha256sum "ZooBC Wallet.html"
curl -s https://zoobc.network/api/v1/release/list

Если хеш вашего файла есть в этом списке, этот файл опубликовал издатель релизов. Если его

там нет, никакие заверения какого бы то ни было сайта не сделают безопасным ввод в него фразы восстановления.

Можно также узнать, какому ключу вообще разрешено публиковать:


curl -s https://zoobc.network/api/v1/release/authority

zoobc.network является публичным шлюзом ZooBC TestNet, а не MainNet. Замените хост своим узлом, чтобы проверять, не доверяя этому шлюзу.

Каждый узел отвечает одно и то же, потому что это записано в блокчейне. Спросите два узла, которыми управляют

разные люди, и сравните: в этом весь смысл архитектуры, и это стоит вам всего одной лишней

команды.

Если /verify предупреждает о предстоящей смене издателя релизов, остановитесь и выясните причину, прежде чем

доверять чему-либо, скачанному с этого сайта. Издатель является тем единственным ключом, на котором держится каждое утверждение на

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

это плановая смена, но подтвердите это по каналу, который не проходит через

этот сайт, ведь скомпрометированный сайт охотно успокоит вас насчёт собственной передачи полномочий.

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

2.2 Первый запуск, уведомление о рисках

При самом первом запуске показывается Уведомление о программном интерфейсе и признание пользователем рисков. Его нужно принять (или выйти); полные Условия обслуживания всегда доступны в футере.

2.3 Экран приветствия

Карточка начала работы предлагает:

  • Фраза восстановления или секретный ключ: вставьте фразу BIP-39 из 12/15/18/21/24 слов или закрытый ключ из 64 hex-символов. Кнопка с глазом показывает или скрывает ввод.
  • Формат кошелька: ZooBC (по умолчанию), Ethereum, BNB, Bitcoin, Solana, Polkadot, Cardano, Ripple, Tron, Tezos. Для Bitcoin дополнительный переключатель выбирает SegWit (bc1q…), Legacy (1…) или Taproot (bc1p…). Одна и та же фраза даёт разный адрес в каждом формате.
  • Аккаунт №: счётчик для выбора индекса деривации (несколько аккаунтов из одной фразы).
  • Разблокировать кошелёк: открывает его с введёнными данными.
  • Создать новый кошелёк: генерирует новую фразу (см. ниже).
  • Восстановить из файла резервной копии: загружает зашифрованную резервную копию хранилища (.json); запрашивается PIN-код, с которым она была сохранена.
  • Ссылка Настройки узла: позволяет задать URL шлюза до входа.

2.4 Создание нового кошелька

  1. Выберите длину фразы (12–24 слова). Слова показаны в виде пронумерованных плашек; есть кнопки Копировать фразу, Копировать нумерованный список, Новая фраза.
  2. Предупреждение напоминает, что фраза является единственной резервной копией. Отметьте «Я записал(а) фразу восстановления».
  3. Проверка: выберите правильное слово для нескольких случайных позиций.
  4. Установите PIN-код: выберите и подтвердите 6-значный PIN-код. Он шифрует хранилище на этом устройстве, чтобы кошелёк сохранялся после обновления страницы.

2.5 Повторный вход, разблокировка

Введите PIN-код (или нажмите кнопку ключа доступа, если он настроен). Ссылки ниже: Восстановить из файла резервной копии и Сбросить кошелёк на этом устройстве (стирает локальные данные; восстановить их можно фразой).

2.6 Только просмотр

Наблюдать за адресом: показывает баланс и активность любого адреса без ключа. В главном блоке отображается значок только просмотр, а все страницы подписания скрыты.


3. Основной интерфейс

3.1 Верхняя панель

  • Логотип + значок версии (например, V0.36).
  • Колокольчик уведомлений: клиентские оповещения (входящие сообщения чата, запросы подписи, оповещения блокчейна); красный счётчик; записи ведут прямо на нужную страницу (например, уведомление о счёте открывает страницу оплаты).
  • Тема: переключение тёмной/светлой.
  • Блокировка: немедленно блокирует кошелёк (для открытия нужен PIN-код).
  • Настройки: открывает страницу настроек.
  • Индикатор ретранслятора звонков: при необходимости показывает оставшийся объём данных ретранслятора.
  • Индикатор состояния сети, точка + подпись: block N (подключено; показывает подтверждённую высоту, вершина − 3), synchronizing… (кратковременный сбой < 30 с), chain unreachable (продолжительный сбой). Нажатие открывает обозреватель блоков (explorer.<gateway-domain>).

3.2 Блок баланса (левая колонка)

  • Баланс с переключателем охвата: Этот кошелёк / все кошельки вместе.
  • Значок монеты обновляет данные по нажатию; стрелка открывает панель токенов со списком ваших балансов токенов.
  • Доступно: баланс за вычетом заблокированных сумм (стейки, эскроу, удерживаемые предложения).
  • Плашка адреса: аватар аккаунта (нажмите, чтобы сменить аккаунт), редактируемое имя кошелька, адрес и кнопка копирования.
  • Значки: только просмотр, мультиподпись.
  • Кнопки быстрого доступа Отправить и Получить.

3.3 Левое меню

Сворачиваемые группы (состояние «открыто/закрыто» запоминается; целые разделы можно скрыть в Настройки → Меню):

ГруппаПункты
ГЛАВНАЯПанель · Задачи · Активные · Активность
КОШЕЛЁКОтправить · Получить · Депозит · Вывод · Запланированные · Мультиподпись · Политика
АКТИВЫТокены · Файлы · Биржа · Маркетплейс
ОБЩЕНИЕКонтакты · В сети · Чат · Звонки
БИЗНЕССчета · Формы · Нотариус
ПРИЛОЖЕНИЯЛобби · Одиночная игра · 1 на 1 · 3+ игроков
ДОПОЛНИТЕЛЬНОКлючи и сиды · Бумажный кошелёк · Отправка
СИСТЕМАНастройки · Узел · Сеть · Шлюзы · Ретрансляторы · Управление

На узких экранах меню сворачивается в верхнюю панель навигации / меню-бургер.

Юридические и информационные страницы: Условия использования, Политика конфиденциальности, Справка и руководство, Участие в проекте.


4. ГЛАВНАЯ

4.1 Панель (обзор)

Начальная страница после разблокировки:

  • Ваши монеты: суммарные балансы по каждой монете во всех ваших кошельках.
  • Ваши кошельки: карточка для каждого аккаунта (имя, адрес, текущий баланс с приглушёнными дробными знаками, значок блокчейна, значки мультиподписи и просмотра). Блок статуса выводит пункты, требующие внимания.
  • Ваши токены: токены, которыми вы владеете, с ярлыком Обзор для перехода на страницу «Токены».
  • Ваши узлы: зарегистрированные узлы, принадлежащие вашим кошелькам (автообновление каждые 10 мин).

4.2 Задачи

«Всё, что ждёт вас: одобрить, рассчитаться или ответить». Единый список, который объединяет:

  • эскроу, где одобряющий вы (одобрение / отклонение прямо в списке),
  • транзакции с мультиподписью, ожидающие вашей подписи,
  • запросы платежей/эскроу, адресованные вам,
  • счета, ожидающие вашей оплаты,
  • ходы в приложениях и истекающие пункты.

Счётчик на пункте меню показывает их количество. Обновить заново загружает всё. Пока страница открыта, она автоматически обновляется каждые 60 с.

4.3 Активные (активные транзакции)

Транзакции, которые действуют прямо сейчас, на четырёх вкладках:

  • Все: общий список со счётчиками по вкладкам.
  • Одобрить / отклонить эскроу: как назначенный одобряющий введите (или выберите) ID транзакции эскроу и нажмите Одобрить и выпустить (средства уходят получателю) или Отклонить и вернуть (средства возвращаются отправителю). Отправляет ApprovalEscrow (тип 4).
  • Остановить ликвидный платёж: прекращает начатый вами ликвидный платёж; невыплаченный остаток возвращается вам (LiquidPaymentStop, тип 262).
  • Остановить вестинг: действующие расписания, созданные вами; отзыв возвращает неисполненный остаток (уже выплаченные транши остаются у получателя) (CancelSchedule, тип 30).

4.4 Активность

История ваших транзакций.

  • Фильтр аккаунтов: один кошелёк или все.
  • Фильтр монет: все монеты или конкретная.
  • Выбор источника: Последние TX (недавнее окно подключённого узла) или Все TX (полная история архивного узла).
  • Плашки категорий: Все · Кошелёк · Торговля · Приложения · Инструменты · Coinbase · Комиссии, с итогами по каждой категории.
  • Каждая транзакция, которую отправляет кошелёк, также сохраняется в локальном журнале (вместе с байтами тела), поэтому она появляется мгновенно, сохраняется после очистки данных узла и отображается со всеми подробностями своего типа. Строки разворачиваются и показывают суммы, контрагентов (с именами контактов, если они известны), комиссии, детали эскроу, сообщения (расшифрованные, если они адресованы вам) и кнопку копирования хеша.

5. КОШЕЛЁК

5.1 Отправить

Основная страница переводов. Поля сверху вниз:

  • Получатель: адрес в любом поддерживаемом формате (ZBC_…, 0x…, 1…, bc1…, Solana, SS58, addr1…, r…, T…, tz1…) или контакт (кнопка выбора). Под полем появляются индикатор корректности и найденное имя контакта.
  • Сумма + Макс. (подставляет доступный баланс за вычетом комиссии).
  • Сетевая комиссия (ZBC): подставляется из сети; растёт с размером сообщения; её можно увеличить.
  • Сообщение (необязательно): хранится в блокчейне. Для переводов ZBC → ZBC можно отметить Зашифровать сообщение (сквозное шифрование; прочитать сможет только получатель). Подсказка о комиссии обновляется в зависимости от размера в байтах.
  • Личная заметка (необязательно): сохраняется только на этом устройстве и никогда не попадает в блокчейн.
  • Срок жизни (контекстное поле): появляется при отправке на адрес объекта ZBS_, чтобы пометить пополнение аренды.
  • Флажок Ликвидный платёж: сумма постепенно переходит к получателю в течение выбранного периода (в минутах). Получатель может забирать средства пропорционально по мере их поступления; вы можете досрочно остановить платёж на странице Активные (невыплаченная часть вернётся). Отправляет LiquidPayment (тип 6) вместо обычного перевода.
  • Флажок Эскроу: удерживает средства, пока одобряющий не даст одобрение:
  • Адрес одобряющего (или контакт),
  • Удерживать до: готовые варианты (1 день … 6 месяцев) или выбор точной даты и времени; отображается как тайм-аут по высоте блока с пометкой, что время блоков является оценкой и фактическое время будет отличаться,
  • Вознаграждение одобряющего (ZBC),
  • Инструкция (свободный текст, например «выпустить после доставки»).
  • Ссылка: Наоборот, ждёте оплаты? → Запросите платёж (эскроу со стороны получателя, на странице «Запланированные»).
  • Оплатить сетевую комиссию этим токеном (контекстное поле), для токенов с поддержкой оплаты комиссии: сжигает токены комиссии и высвобождает равную долю обеспечения в ZBC (недоступно при эскроу).
  • Только создать транзакцию: подписывает, но не отправляет в сеть; формирует подписанный JSON + QR, чтобы отправить позже или с другого устройства (см. Отправка).
  • Предпросмотр: сумма, вознаграждение, комиссия, итог.
  • Проверить и отправить: окно подтверждения, затем отправка в сеть. Сбросить форму очищает всё. После отправки показывается ID транзакции (он сохраняется, даже если вы уйдёте со страницы) со ссылками для копирования и перехода в обозреватель.

Что отправляется в сеть: SendZBC (тип 1), либо TransferToken (11), если в главном блоке выбран токен, либо LiquidPayment (6), если отмечен флажок ликвидного платежа. Эскроу передаётся в конверте любой из них.

5.2 Получить

Ваш адрес в виде большого QR-кода, адрес текстом и кнопка Копировать адрес.

5.3 Депозит

Мост в ZooBC: переносите BTC, ETH, USDC или USDT в блокчейн в виде обёрнутых монет (например, BTC → ZBTC), которые выпускаются 1:1 после подтверждения. Две вкладки:

  • Старт: выберите монету (у неподдерживаемых отображается Скоро). Кошелёк показывает:
  • кастодиальный депозитный адрес (QR + копирование) для исходного блокчейна,
  • необходимое число подтверждений,
  • Кому зачисляется: депозит зачисляется на аккаунт ZooBC, который зеркалирует адрес отправки (тот же ключ); кастодиальный адрес общий, поэтому адрес отправителя служит единственным доказательством владения. Отправляйте с кошелька, ключ от которого вы контролируете здесь.
  • После подтверждений квалифицированное большинство в 2/3 узлов ZooBC удостоверяет депозит, затем выпускается обёрнутая монета (от нескольких минут до ~1 часа).
  • Отслеживание с тремя подвкладками: В пути (автообновление каждые 20 с; состояния Обнаружено → Подтверждается → Удостоверяется → Выпущено с ожидаемым временем для каждого блокчейна), Наблюдать за другим аккаунтом (любой адрес исходного блокчейна или ZBC_), История (завершённые и отброшенные).

5.4 Вывод

Мост из ZooBC (обёрнутые монеты возвращаются в свои исходные блокчейны). Этот экран является макетом: исходящий мост пока не работает; он показывает планируемый список монет и порядок действий.

5.5 Запланированные

Средства, которые перемещаются по таймеру. Пять вкладок:

  • Вестинг: график с предварительной блокировкой. Вся сумма блокируется при создании и выплачивается получателю траншами. Поля: получатель, монета/токен, сумма транша, интервал, число траншей (1–520), необязательный клифф, отзывный/безотзывный, необязательное время окончания. Отправляет в сеть ScheduledTransfer (29) с funding_mode 0.
  • Регулярный: списание при срабатывании. Ничего не блокируется; каждый транш списывается с вашего баланса в момент срабатывания (если средств нет, срабатывание корректно завершается без выплаты). Те же поля; funding_mode 1.
  • На высоте: одноразовый триггер. Блокирует сумму сейчас и выплачивает её бенефициару, когда блокчейн достигнет заданной высоты блока. У поля высоты есть календарь для выбора даты и времени (он пересчитывает их в ориентировочную высоту; фактическое время может смещаться из-за колебаний времени блока). Отправляет в сеть CreateTrigger (15); отмена возвращает средства через CancelTrigger (16).
  • Запрос: эскроу на стороне получателя. Вы запрашиваете платёж, указываете плательщика, сумму (ZBC или токен), утверждающего, срок, комиссию и инструкцию; плательщик получает запрос в разделе «Задачи» и оплачивает его. Отправляет в сеть EscrowRequest (260).
  • Список: все созданные вами и получаемые графики, сгруппированные по видам. В каждой строке: тип (вестинг/регулярный/одноразовый), прогресс (выплачено из общей суммы), следующее срабатывание, значок роли и действия: Отозвать (если график отзывный), Переназначить оставшиеся транши новому получателю (ReassignSchedule, 31, только текущий получатель).

5.6 Мультиподпись

Аккаунт, для каждой траты с которого нужно несколько подписей. Две вкладки:

  • Создать мультисиг-аккаунт: адреса участников (по одному в строке, любой формат; Добавить из контактов), Минимум подписей, Nonce. Вычислить адрес показывает детерминированный адрес ZBC_. Затем:
  • Зарегистрировать в блокчейне: записывает состав участников (MultisigRegistration, тип 5),
  • Добавить в мой кошелёк: делает его доступным для выбора как аккаунт (со значком мультисига), чтобы получать средства и предлагать траты.
  • Подписать мультисиг-транзакцию: ожидающие запросы, адресованные вам, показываются сверху. Вставьте транзакцию от предыдущего подписанта (hex / base64 / JSON), нажмите Подписать моим ключом и передайте результат следующему подписанту; подписание никогда не отправляет транзакцию в сеть. Когда подписей достаточно, кнопка Отправить в сеть (страница «Отправка») открывает «Отправку» с уже заполненными данными.

5.7 Политика «С чем я работаю»

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

БитКатегорияЧто охватывает
0ПлатежиОтправка ZBC, ликвидные / запланированные / триггерные переводы
1ПриложенияСоздание, присоединение, ход, сдача, тайм-аут, расчёт
2ТокеныВыпуск, перевод, довыпуск, сжигание и финансирование цветных монет
3БиржаПредложения обмена и рынки с книгой ордеров
4Данные и хранилищеНаборы данных, предоплаченное хранилище, файлы (DFS), доказательства хранения
5Эскроу и мультиподписьОдобрение / запрос эскроу, мультиподпись
6Узлы и инфраструктураРегистрация узлов, реестр шлюзов / архивных узлов / ретрансляторов
7МостКросс-чейн аттестация / выпуск
8УправлениеГолосования по комиссиям, управление подписанными релизами

Итоговая плашка показывает «Работаю со всем» или «Отклоняю: …». Отключение категорий Платежи или Узлы и инфраструктура требует дополнительного подтверждения (это может лишить вас возможности обычного использования). Кнопка Сохранить политику отправляет в сеть SetTransactPolicy (тип 50, маска u16 LE, комиссия ~0,05 ZBC); политика вступает в силу после подтверждения блока.


6. АКТИВЫ

6.1 Токены

Реестр всех монет в блокчейне (монеты генезиса и выпущенные пользователями «цветные монеты»). Два режима:

  • Обзор: список всех зарегистрированных токенов с поиском, где показаны значок, символ, название, предложение, обеспечение и ваш баланс; токену можно дать локальное имя. Обеспеченные токены сохраняют постоянную стоимость в ZBC.
  • Выпуск и управление (также доступно через хаб мультиподписи → «Токены»):
  • Выпустить токен: символ (проверяется на допустимые знаки и по списку зарезервированных символов), название, общее предложение, число знаков после запятой (0–8), обеспечение (заблокированные ZBC), 0 для необеспеченного токена, флаги Погашаемый (сжигание → возврат вашей доли обеспечения) и С довыпуском (эмитент может выпускать дополнительно), необязательные SVG-логотип и описание (передаются в сообщении транзакции, ≤ 6144 байт). Отправляет в сеть IssueToken (10).
  • Отправить токен: токен, сумма, получатель (TransferToken, 11; поддерживает эскроу и оплату комиссии в токене).
  • Довыпуск или сжигание: Довыпуск (только эмитент и только для токенов с довыпуском; увеличивает предложение и блокирует дополнительное обеспечение, чтобы стоимость единицы не менялась, тип 12), Сжечь / погасить (уничтожает ваши токены; погашаемые токены возвращают вашу долю обеспечения, тип 13), Финансировать (пополняет арендную плату за существование токена, чтобы он не был удалён, тип 14).

6.2 Файлы

Децентрализованное файловое хранилище (DFS) и все инструменты для управления жизненным циклом данных. Шесть вкладок:

  • Мои файлы: сохранённые вами файлы с именем, размером, корневым хешем, состоянием реплик и статусом аренды; файл можно скачать или скопировать ссылку для обмена.
  • Загрузить файл: узел разбивает файл на части с адресацией по содержимому и раздаёт их своему набору реплик; затем кошелёк закрепляет файл в блокчейне транзакцией StoreFile (тип 40): корень файла (32 Б), размер, размер части, депозит аренды (минимум 0,01 ZBC) и список частей. Если ваш список файлов пуст, эта вкладка открывается по умолчанию.
  • Скачать по корню: получение любого файла из сети хранения по его корню из 64 hex-символов (или по идентификатору ZTX_).
  • Наборы данных: ваши необработанные записи в блокчейне. Каждое сообщение чата, опрос, счёт, форма и поле профиля являются записью набора данных в аккаунте:
  • Мои записи: список с удалением в одно касание.
  • Добавить запись: аккаунт (пусто = ваш собственный), свойство, значение (максимум 4096 байт; счётчик байтов в реальном времени). Отправляет в сеть SetupAccountDataset (тип 3).
  • Удалить запись вручную: получатель, свойство (включая суффикс #…, показанный в чате) и значение должны совпадать в точности. Отправляет в сеть RemoveAccountDataset (259).
  • Оплатить хранение: предоплата аренды наборов данных для вашего аккаунта (FundStorage, тип 9). Адресное пополнение отдельных наборов данных появится со следующей версией блокчейна.
  • Объекты: управление объектами с арендной платой за существование:
  • список ваших объектов с балансом аренды и оценкой срока истечения,
  • Передать право владения в два шага: вы предлагаете (TransferDataset, 42), получатель принимает (AcceptDataset, 44),
  • Политика доступа: списки разрешённых и запрещённых аккаунтов (SetDatasetPolicy, 43),
  • Удалить (DeleteDataset, 45),
  • Пополнить любой объект по хешу создавшей его транзакции: найдите депозит ZBS_ объекта по идентификатору транзакции и пополните его обычным переводом (допускающим эскроу).

6.3 Биржа

Биржа с книгой ордеров в блокчейне (CLOB). Значок в заголовке честно показывает ПОДКЛЮЧЕНИЕ… / ОНЛАЙН / ОФЛАЙН; когда эндпоинты недоступны, ничего не имитируется.

  • Режимы: Простой (сначала форма, без книги ордеров и сделок) и Профессиональный (график глубины, книга ордеров, последние сделки, ордера, раскладка торгового терминала).
  • Выбор пары: строки «Из» / «В» со списком всех зарегистрированных монет; кнопка, меняющая их местами; существующие рынки показаны плашками (с числом ваших открытых ордеров).
  • Панель статистики: последняя цена, изменение, максимум, минимум и объём за 24 ч, спарклайн.
  • Глубина рынка и книга ордеров в реальном времени из блокчейна; для пустой книги поясняется причина: «Ордеров пока нет, станьте первым» / узел не в сети / нет API для чтения.
  • Форма ордера: покупка/продажа, тип ордера рыночный / лимитный / стоп, сумма (+Макс. по вашему текущему балансу), лимитная цена, итог, ориентировочная комиссия (0,1 %). Рыночные ордера при пустой книге блокируются с пояснением (нет цены для сопоставления). Размещение ордера отправляет в сеть PlaceOrder (тип 22); если рынка для пары ещё нет, вам предложат Создать рынок (CreateMarket, 21, с депозитом аренды в ZBC).
  • Мои ордера: сохраняются отдельно на каждом устройстве; пока ордер ожидает подтверждения, показывается Ожидание блока, затем «открыт», «исполнен» или «отменён»; Отменить отправляет в сеть CancelOrder (23, возвращает неисполненный остаток); Убрать исполненные очищает список.

6.4 Маркетплейс

Одноранговая доска предложений обмена (OTC): «разместите, что отдаёте и что хотите получить; принять может любой». Полная атомарность: узел обменивает обе стороны в одном блоке или не обменивает вовсе. Работает только в режиме ОНЛАЙН и честно показывает состояние ОФЛАЙН.

  • Просмотр предложений: фильтр по активу «Отдаю» / «Хочу»; в карточке каждого предложения показаны мейкер (аватар и имя контакта), суммы «отдаю → хочу», расчётная цена, срок действия и статус (открыто / исполнено / отменено / истекло). Принять отправляет в сеть AcceptSwapOffer (19): тейкер оплачивает запрашиваемую сторону и получает удерживаемую предлагаемую сторону.
  • Создать предложение: отдаваемый актив и сумма (блокируются на вашем балансе, пока предложение открыто), желаемый актив и сумма, необязательный срок действия (0 = до отмены), необязательный зарезервированный контрагент (принять сможет только этот адрес). Показывает карточку подтверждения, затем отправляет в сеть CreateSwapOffer (18).
  • Мои предложения: ваши открытые предложения с кнопкой Отменить (CancelSwapOffer, 20, возвращает удерживаемую сумму), а также хранящаяся на устройстве история проданных, принятых, отменённых и истёкших предложений.

7. ОБЩЕНИЕ

7.1 Контакты

Ваша адресная книга. Добавить контакт: имя, необязательные фото и заметка и любое число адресов в разных блокчейнах (у каждого значок своей сети). Имена контактов заменяют необработанные адреса во всём кошельке («Отправить», «Активность», «Чат», «Маркетплейс»…), а сам адрес всегда можно скопировать одним касанием. Контакты хранятся в зашифрованном сейфе и переносятся вместе с резервными копиями.

7.2 В сети

Присутствие ваших контактов в реальном времени. В каждой строке показан статус (в сети / отошёл / не в сети) и быстрые действия для чата или звонка. Присутствие работает по push-модели: кошельки отправляют сигнал примерно каждые 60 с через ретранслятор, а список обновляется по таймеру, поэтому два кошелька видят друг друга без каких-либо переходов. То, как видно вас, настраивается в разделе «Звонки → Видимость».

7.3 Чат

Обмен сообщениями в блокчейне. Два уровня:

  • Вид переписки в стиле WhatsApp: список диалогов со значками непрочитанного, аватарами (фото контакта или инициалы), поиском и локальным переименованием; в окне диалога видны облачка сообщений, отметки времени и значок замка на сквозь зашифрованных сообщениях (ZBC ↔ ZBC). Входящие сообщения с любого из ваших собственных кошельков распознаются как «вы».
  • Форма прямой отправки: Кому (адрес или контакт), Тема (необязательно; например, идентификатор приложения для ходов, по умолчанию chat), Сообщение. Каждое сообщение является транзакцией SetupAccountDataset (тип 3) в аккаунте получателя и стоит обычную сетевую комиссию.

Сообщения можно удалить через «Файлы → Наборы данных» (данные для удаления должны точно совпадать с записью).

7.4 Звонки

Голос, видео и демонстрация экрана напрямую между участниками. Прямые звонки бесплатны; если брандмауэр блокирует прямое соединение, трафик передаёт шлюз-ретранслятор за счёт пополняемого вами кредита. Пять вкладок:

  • Контакты в сети: кто доступен сейчас (фильтр Только в сети / Все); коснитесь, чтобы начать голосовой или видеозвонок.
  • Ретрансляторы: ваш кредит ретрансляции, показанный как остаток в МБ данных, и расчётные оценки (голос ≈ 0,36 МБ/мин, видео ≈ 15 МБ/мин; кредит измеряется только данными, а не минутами). Список шлюзов-ретрансляторов с их состоянием; Добавить шлюз; пополнение представляет собой платёж в ZBC оператору ретранслятора и подтверждается в блокчейне (ожидающие пополнения опрашиваются, пока не будут зачислены).
  • Недавние звонки: журнал с направлением, длительностью, маршрутом (напрямую / через ретранслятор), объёмом данных и шлюзом.
  • Включить аккаунты: выберите, какие из ваших аккаунтов могут участвовать в звонках (подписанная регистрация на ретрансляторе).
  • Видимость, то есть кому вы видны: Всем / Всем контактам / Выбранным контактам / Никому (для варианта Выбранным есть выбор контактов). В режиме «Никому» вы всё равно можете начинать звонки.

Во время звонка: отключение микрофона, включение и выключение камеры, демонстрация экрана и счётчик данных в реальном времени. Индикатор ретранслятора на верхней панели показывает остаток данных во время звонков через ретранслятор.


8. БИЗНЕС

8.1 Счета

Отправьте счёт на оплату по ссылке в ZBC или любой зарегистрированной монете/токене (ZUSD, ZBTC…). Оплата является обычным переводом в этой валюте; статус сверяется с блокчейном автоматически.

  • Создать счёт: сумма и валюта, описание, необязательный срок оплаты; счёт записывается как набор данных в вашем аккаунте, и вы получаете ссылку для обмена (см. 8.4).
  • Две вкладки: Выставленные мной и Полученные, в каждой счета сгруппированы на Ожидают оплаты и Оплаченные. Оплаченные строки ведут на транзакцию оплаты. Входящие счета также появляются в уведомлениях и в разделе «Задачи» со ссылкой прямо на страницу оплаты.
  • Страница оплаты открывается по ссылке: показывает выставившего счёт, сумму, валюту и примечание; одно касание формирует точный перевод.

8.2 Формы

Опубликуйте форму, поделитесь ссылкой и собирайте подписанные и зашифрованные ответы, которые можете прочитать только вы, с доказательством того, кто что подписал. Задайте поля, опубликуйте форму (набор данных в вашем аккаунте) и поделитесь ссылкой; ответы шифруются вашим ключом и выводятся с адресом подписанта и отметкой времени.

8.3 Нотариус (доказательство существования)

Ставьте отметку времени на любой файл в блокчейне: документ никогда не покидает ваше устройство.

  • Заверить: перетащите файл; он хешируется локально (SHA3-256). К изображениям можно по желанию приложить небольшую миниатюру (с возможностью зашифровать её для себя); для PDF честно показывается пометка «нет предпросмотра». Хеш (и необязательная миниатюра) записывается в ваш аккаунт как набор данных, оплачиваемый собственной арендной платой за хранение.
  • Мои закрепления: ваши закрепления с высотой и временем блока; ожидающие (отправленные, но ещё не попавшие в блокчейн) отслеживаются локально до подтверждения.
  • Проверить: перетащите файл, чтобы заново вычислить хеш и найти его закрепление (по умолчанию в вашем аккаунте), или вставьте любой адрес ZBC_ / ссылку, чтобы проверить чужое.

Ссылки на счета, формы, опросы и страницы оплаты подстраиваются под то, как открыт кошелёк: с настоящего источника https:// это полные URL; из локального файла это ссылки с #фрагментом, и получатель вставляет фрагмент после …wallet.html в своём кошельке (путь file:// никогда не зашивается в ссылку).


9. ПРИЛОЖЕНИЯ

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

9.1 Разделы

  • Лобби: призовой фонд сети (ZBC и токены), ваши открытые матчи и вызовы (кнопки присоединения), статистика и библиотека приложений.
  • Одиночная игра: приложения для игры против казино (кости, орлянка, рулетка, слоты, лотерея, crash…).
  • 1 на 1: пошаговые приложения (крестики-нолики, шахматы, «четыре в ряд», шашки, реверси, гомоку, морской бой, «точки и квадраты»…). Бросьте вызов конкретному сопернику (адрес/контакт, приглашение придёт в его кошелёк) или разместите открытый вызов, к которому может присоединиться любой.
  • 3+ игроков: групповые приложения (лудо, «свинья», гонки, игры в духе «Монополии»).

9.2 Начало матча

Форма нового матча: приложение, ставка (сумма и монета: ZBC или любой токен из списка пула; 0 = товарищеский матч), число мест, соперник (1 на 1) и, где поддерживается, быстрый режим (канал состояний). Создание отправляет в сеть CreateApp (24) и блокирует вашу ставку; присоединившийся блокирует свою через JoinApp (25).

9.3 Игра

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

  • Режим в блокчейне: каждый ход является транзакцией AppMove (26); обратный отсчёт не опускается ниже измеренного времени блока. Если кошелёк рассинхронизируется, он может восстановить всё приложение из блокчейна.
  • Быстрый режим (каналы): ходы мгновенно передаются как подписанные ваучеры (повторно отправляются примерно каждые 10 с до подтверждения); в конце любой из игроков отправляет SettleApp (39), и блокчейн воспроизводит подписанные ваучеры по своим правилам, чтобы вынести решение и произвести выплату.
  • Сдаться (27): поражение, ставка уходит сопернику. Заявить тайм-аут (28): победа засчитывается вам, если соперник покинул игру и пропустил срок хода.
  • Выходить безопасно: незавершённые раунды сохраняются локально, откройте то же приложение снова, чтобы переподключиться; результат фиксируется в блокчейне.

10. РАСШИРЕННЫЕ ФУНКЦИИ

10.1 Ключи и сид-фразы

Управление всеми идентификационными данными в сейфе:

  • Сид-фразы: именованные сид-фразы. Из каждой можно получать аккаунты в любом поддерживаемом блокчейне и с любым индексом аккаунта без повторного ввода фразы. Показать (по PIN-коду), переименовать, удалить.
  • Импортировать ключ: отдельный закрытый ключ из 64 hex-символов в любом формате.
  • Отслеживать адрес: добавить запись только для просмотра.
  • Список импортированных ключей и отслеживаемых адресов: в каждой строке адрес, текущий баланс и кнопка удаления.

10.2 Бумажный кошелёк

Холодное хранение для печати. Элементы управления: Источник, где можно выбрать Мой кошелёк (ваш аккаунт) или Новый пустой кошелёк (новая фраза создаётся на месте и нигде не сохраняется); параметры макета; Печать. На распечатке есть QR-код адреса и фраза/ключ с настойчивым предупреждением о правилах обращения с ними.

10.3 Отправка

Отправьте в сеть транзакцию, которая была подписана в другом месте (на изолированном устройстве, совладельцем мультиподписи, через «только создать» в разделе «Отправить»). Вставьте подписанный JSON или нажмите Сканировать QR, чтобы считать код камерой. Ключ не нужен. Показывает идентификатор полученной транзакции или дословный текст ошибки узла.


11. СИСТЕМА

11.1 Настройки

Сгруппированы по подвкладкам:

  • Безопасность: смена 6-значного PIN-кода (для резервных копий, скачанных после этого, понадобится новый PIN-код).
  • Ключ доступа: настройка и удаление разблокировки с помощью ключа доступа платформы (Face ID / Touch ID / Windows Hello).
  • Автоблокировка: блокировка после периода бездействия.
  • Меню: показ и скрытие целых разделов боковой панели (настройка устройства). Всегда показывается только раздел ГЛАВНАЯ; «Настройки» остаются доступны с верхней панели.
  • Резервное копирование и восстановление: скачать зашифрованный сейф (для открытия нужен ваш PIN-код; любой, у кого есть файл и PIN-код, может тратить средства) или восстановить из файла резервной копии.
  • Узел (доступен и до входа): текущий шлюз с индикатором состояния, Список шлюзов и проверка доступности (из реестра в блокчейне), ручной ввод URL узла для дополнительных резервных узлов и расширенные настройки узла.
  • Тема: тёмная / светлая.
  • Изолированный режим: когда он ВКЛЮЧЁН, кошелёк ничего не отправляет в сеть, а каждая транзакция подписывается и экспортируется (JSON + QR), чтобы её отправило подключённое к сети устройство. На верхней панели отображается индикатор.
  • Сброс: очистка этого устройства (сейф, кэши); ваша фраза восстановит всё важное.

11.2 Узел

Всё для работы узла-валидатора (только для аккаунтов ZooBC):

  • Мои узлы: все узлы, принадлежащие вашим кошелькам (всем аккаунтам или одному); им можно дать локальные имена и скопировать их ключи.
  • Зарегистрировать узел: вставьте секретный ключ узла из 64 hex-символов и заблокированный баланс (минимум 1 ZBC, по умолчанию 1000). Кошелёк получает недавний блок и формирует доказательство владения (POOWN): ключ узла подписывает owner ‖ block hash ‖ height, после чего кошелёк отправляет в сеть NodeRegistration (тип 2). Стейк разблокируется, если вы удалите узел.
  • Удалить узел: отмена регистрации; заблокированный баланс разблокируется (RemoveNode, 514).
  • Обновить стейк узла: новый заблокированный баланс (может только остаться прежним или увеличиться); новое POOWN (UpdateNode, 258).
  • Заявить права на узел: передать владение узлом этому кошельку, подтвердив контроль его секретным ключом (ClaimNode, 770).

11.3 Сеть

Ваши записи об инфраструктуре в блокчейне с обзором трёх реестров в реальном времени:

  • Зарегистрировать шлюз: переход к форме в разделе «Шлюзы» (блокирует стейк 10 ZBC, который возвращается при отмене регистрации; затем шлюз должен регулярно отправлять сигналы активности, иначе он автоматически удаляется с возвратом стейка).
  • Зарегистрировать / обновить ретранслятор: публикация ретранслятора, чтобы его можно было обнаружить. Ключ ретранслятора (ZBR_ / 64 hex), обслуживаемый им шлюз, домен, URL (RegisterRelay, 48; Отмена регистрации, 49). Подлинность ретранслятора по-прежнему подтверждает сертификат привязки вне блокчейна (см. ниже), а эта запись лишь делает его доступным для поиска.
  • Зарегистрировать / обновить архивный узел: отметьте один из ваших зарегистрированных узлов как обслуживающий полную историю и API обозревателя. Ключ узла (ZNK_ / 64 hex), домен, URL (RegisterArchival, 46; Отмена регистрации, 47). В обозревателе у узла появляется значок Архивный.

Повторная регистрация с тем же ключом обновляет домен/URL; действуют только повторное объявление или отмена регистрации от владельца.

11.4 Шлюзы

  • Список шлюзов: шлюз, с которым работает этот кошелёк, и проверка состояния всех зарегистрированных шлюзов (Список шлюзов и проверка доступности); выберите, через какой подключаться. Расширенные настройки узла… открывают прямую настройку URL.
  • Зарегистрировать шлюз: Сгенерировать ключ шлюза (или вставить 64 hex-символа; предпросмотр адреса ZBG_ обновляется сразу), домен, URL → RegisterGateway (36) с блокировкой стейка 10 ZBC. Сигналы активности (37) работающий шлюз отправляет автоматически.
  • Отменить регистрацию шлюза по ключу; стейк возвращается (UnregisterGateway, 38).

11.5 Ретрансляторы

Зарегистрировать ретранслятор (процедура для оператора, без транзакции и без комиссии): выберите шлюз, чей ключ ZBG_ будет подписывать, задайте срок действия сертификата (в днях) и нажмите Сгенерировать ключ и сертификат ретранслятора. Кошелёк создаёт ключ ZBR_ ретранслятора и сертификат, подписанный ключом вашего шлюза; вставьте результат в /etc/zoobc/relay.env сервера ретранслятора и перезапустите его. В журнале появится [fed] ON, и ретранслятор подключится к соседним шлюзам. Чтобы сменить ключ, повторите процедуру в любой момент.

11.6 Управление

  • Опросы: опрос представляет собой запись в блокчейне (набор данных) с вопросом, вариантами ответа, описанием, периодом голосования и правилами допуска (минимальный баланс ZBC, минимальный возраст аккаунта, минимальное число транзакций). Новый опрос открывает редактор; Открыть ссылку на опрос… позволяет вставить полученную ссылку #gov=poll/.... Каждый голос является подписанной транзакцией с аккаунта голосующего; итоги считываются прямо из блокчейна. На карточках опросов показаны статус (предстоящий / открыт / закрыт), число голосов, копирование ссылки и кнопка «Открыть».
  • Голосование по комиссиям: голосуйте за повышение или понижение коэффициента комиссий сети (1,0× = обычный). Его сдвигает медиана голосов всех узлов с ограничением 0,5×–2,0× за период. Два шага:
  1. Фиксация: ваш голос отправляется в сеть в виде хеша (FeeVoteCommit, тип 7); сам голос кошелёк запоминает на этом устройстве.
  2. Раскрытие: в период раскрытия отправьте в сеть голос и вашу необработанную подпись (FeeVoteReveal, 263).

12. Справочник транзакций

Все целые числа в порядке little-endian; суммы в атомарных единицах (×10⁸ для ZBC, ×10^decimals для токенов). У всех транзакций одинаковый конверт: type(u32) · version(1) · timestamp(u64) · sender(typed acct) · recipient(typed acct; 02000000 = none) · fee(u64) · body_len(u32) · body · escrow-or-marker · message_len(u32) · message. Блок эскроу (для любого типа, допускающего эскроу) имеет вид approver(typed) · commission(u64) · timeout(u64) · instruction(lp4) · multi_party(1); без эскроу записывается 4-байтовый маркер (=2). Аккаунты ZBC подписывают ed25519 по SHA3-256("ZBC-TX" ‖ genesis_hash(32) ‖ unsigned_bytes); другие форматы подписывают тот же дайджест своей собственной схемой. Включение хеша генезиса в дайджест не даёт повторно использовать подпись в другой сети ZooBC; начиная с v0.4.0 оно обязательно.

Платежи и эскроу

ТипНазваниеТелоПримечания
1SendZBCamount(8)Получатель в конверте. Поддерживаются эскроу и сообщение в блокчейне (по желанию зашифрованное ZBC→ZBC).
6LiquidPaymentamount(8) · complete_minutes(8) · [token_id(8)] · [fee_in_token(1)]Поступает получателю равномерно в течение периода; получатель забирает средства по мере вестинга. В потоках токенов token_id добавляется последним.
262LiquidPaymentStoptx_id(8)Отправитель останавливает поток; невыплаченный остаток возвращается.
4ApprovalEscrowapproval(u32: 0=одобрить, 1=отклонить) · escrowed_transaction_hash(32)Подписывается назначенным утверждающим; одобрение выплачивает средства получателю, отклонение возвращает их отправителю. По истечении тайм-аута блокчейн разрешает эскроу автоматически.
260EscrowRequesttoken_id(8) · amount(8) · approver(с типом) · timeout(8) · commission(8) · instruction(lp4)Получатель в конверте = плательщик. Эскроу на стороне получателя: плательщик оплачивает его из раздела «Задачи».
15CreateTriggerfire_height(8) · amount(8)Получатель в конверте = бенефициар. Блокирует средства сейчас, выплачивает на заданной высоте блока.
16CancelTriggertrigger_id(8)Возвращает заблокированную сумму владельцу.

Планировщик

ТипНазваниеТелоПримечания
29ScheduledTransfertoken_id(8) · per_fire(8) · interval_s(8) · fires(u32) · cliff_s(8) · funding_mode(1) · cancel_policy(1) · end_time(8) · reserved(1)funding_mode 0 = вестинг (вся сумма блокируется заранее), 1 = регулярный (списание при срабатывании). cancel_policy 0 = отзывный. 1–520 траншей.
30CancelScheduleschedule_id(8)Отзыв отправителем (если график отзывный) или отказ получателя; невыплаченный остаток возвращается.
31ReassignScheduleschedule_id(8) · new_recipient(с типом)Только текущий получатель.

Сообщения и данные

ТипНазваниеТелоПримечания
3SetupAccountDatasetprop_len(u32) · prop · val_len(u32) · valСообщения чата, счета, формы, опросы, нотариальные закрепления, поля профиля. Максимум 4096 байт на запись; взимается арендная плата за хранение.
259RemoveAccountDatasetта же структураАккаунт, свойство и значение должны совпадать в точности.
9FundStorageamount(8)Предоплачивает аренду наборов данных вашего аккаунта.
40StoreFilefile_root(32) · total_size(8) · piece_size(u32) · deposit(8) · piece_count(u32) · piece_ids(32×n)Закрепляет загрузку в DFS; депозит ≥ 0,01 ZBC; корень должен соответствовать частям.
42TransferDatasetobject_id(32) · new_owner(с типом, 36)Двухэтапная передача владения (предложение).
43SetDatasetPolicyobject_id(32) · mode(1) · n_add(1)+добавления · n_remove(1)+удаленияСписки контроля доступа (максимум 255 за одно изменение).
44AcceptDatasetobject_id(32)Получатель принимает предложение передачи.
45DeleteDatasetobject_id(32)Владелец удаляет объект.

object_id = хеш создавшей объект транзакции (ZTX_ / 64 hex). Пополнения для продления жизни объекта являются обычными SendZBC на депозитный адрес ZBS_ объекта (тип аккаунта 10) и допускают эскроу.

Токены (цветные монеты)

ТипНазваниеТелоПримечания
10IssueTokendecimals(1) · flags(1) · supply(8) · backing(8) · sym(lp2) · name(lp2)Флаги: погашаемый, с довыпуском. SVG-значок и описание передаются в сообщении (≤ 6144 Б).
11TransferTokentoken_id(8) · amount(8) · fee_in_token(1)Допускает эскроу; при эскроу комиссия оплачивается только в ZBC (fee_in_token принудительно равен 0).
12MintTokentoken_id(8) · add_supply(8) · add_backing(8)Только эмитент; стоимость единицы остаётся постоянной.
13BurnTokentoken_id(8) · amount(8)Погашаемые токены возвращают вашу долю обеспечения.
14FinanceTokentoken_id(8) · amount(8)Пополняет арендную плату за существование токена.

Торговля

ТипНазваниеТелоПримечания
18CreateSwapOffergive_token(8) · give_amt(8) · want_token(8) · want_amt(8) · expiry(8; 0=GTC) · [counterparty(36)]Блокирует отдаваемую сторону. Указание контрагента делает предложение зарезервированным.
19AcceptSwapOfferoffer_id(8)Атомарный обмен: запрашиваемая сторона тейкер→мейкер, удерживаемая отдаваемая сторона→тейкер.
20CancelSwapOfferoffer_id(8)Только мейкер; удерживаемая сумма возвращается.
21CreateMarketbase_token(8) · quote_token(8) · deposit(8)Рынок с книгой ордеров; депозит является арендной платой в ZBC.
22PlaceOrdermarket_id(8) · side(1) · price(8, ×1e8) · amount(8, базовый актив) · flags(1: bit0 рыночный, bit1 только мейкер) · expiry(8)side 0 = покупка базового актива, 1 = продажа.
23CancelOrderorder_id(8)Только владелец; неисполненный остаток возвращается.

Приложения

ТипНазваниеТелоПримечания
24CreateAppapp_type(1) · stake_token(8) · stake_amount(8) · seats(1) · params(lp2) · [opponent(36)] · [channel(1)]Ставка в базовых единицах. Места: 1 одиночная игра, 2 дуэль, 3+ групповая игра. Соперник указывается в конверте как получатель, чтобы приглашение появилось в его ленте. channel=1 = быстрый режим (только 2 места).
25JoinAppapp_id(8)Блокирует ставку присоединившегося.
26AppMoveapp_id(8) · move(lp2)Один ход = одна транзакция; виртуальная машина приложений узла проверяет его повторно.
27ResignAppapp_id(8)Ставка переходит сопернику.
28ClaimTimeoutapp_id(8)Победа, если соперник покинул игру и пропустил срок хода.
39SettleAppapp_id(8) · final_seq(u32) · move_count(u32) · [seat(1)·move(lp2)·sig(64)]*Расчёт быстрого режима: блокчейн воспроизводит подписанные ваучеры и выносит решение.

Узлы и инфраструктура

ТипНазваниеТелоПримечания
2NodeRegistrationnode_pub(32) · owner(36) · locked(8) · POOWN(136)Минимум 1 ZBC заблокировано. POOWN = owner‖blockhash‖height(72) + подпись ed25519 узла (64) над этими данными, на основе свежего блока.
514RemoveNodenode_pub(32)Разблокирует заблокированный баланс.
258UpdateNodenode_pub(32) · locked(8) · POOWN(136)Стейк может только остаться прежним или увеличиться.
770ClaimNodenode_pub(32) · POOWN(136)Передаёт владение подписанту.
36RegisterGatewaygw_key(32) · domain(lp4) · url(lp4)Блокирует фиксированный протоколом стейк 10 ZBC.
37GatewayHeartbeatgw_key(32)Сигнал активности; не даёт записи быть удалённой.
38UnregisterGatewaygw_key(32)Возвращает стейк 10 ZBC.
46 / 47Register / UnregisterArchivalnode_pub(32) [· domain(lp4) · url(lp4)]Без стейка, только комиссия. Подписывается владельцем.
48 / 49Register / UnregisterRelayrelay_key(32) [· gw_key(32) · domain(lp4) · url(lp4)]Запись для обнаружения; подлинность по-прежнему подтверждает сертификат вне блокчейна.

Управление и политики

ТипНазваниеТелоПримечания
7FeeVoteCommitvote_hash(32)SHA3-256 от FeeVoteInfo (blockhash‖height‖feeVote); голос хранится локально до раскрытия. 1,0× ↔ feeVote 10000.
263FeeVoteRevealFeeVoteInfo(44) · sig_len(u32=64) · voter_sig(64)Необработанная подпись ed25519 над info. Применяется медиана с ограничением 0,5×–2,0× за период.
5MultisigRegistrationver(u32) · min_sigs(u32) · nonce(u64) · n(u32) · отсортированные участники · 0 · 0Адрес = кодировка ZBC от SHA3-256 канонического набора участников.
50SetTransactPolicymask(u16)Установленный бит i = аккаунт отказывается от категории i (биты 0–8, см. §5.7). Подписывается только самим владельцем; каждый узел применяет политику в обе стороны.

13. Устранение неполадок

  • «синхронизация…» на верхней панели: кратковременный сбой сети; кошелёк ждёт 30 с непрерывных ошибок, прежде чем сообщить «блокчейн недоступен», а тем временем автоматически пробует резервные узлы и известные шлюзы.
  • «Обнаружен новый блокчейн»: вершина цепочки узла намного ниже самого высокого блока, который видел этот кошелёк, то есть сеть была перезапущена с генезиса. Кошелёк предлагает одним нажатием очистить кэши старой цепочки (активность, токены, приложения, уведомления); ключи, сид-фразы и контакты сохраняются.
  • Забыли PIN-код: после 5 неверных попыток сейф стирается. Восстановите доступ с помощью фразы восстановления (или файла резервной копии и его PIN-кода).
  • Транзакция отклонена, списана только комиссия: у контрагента (или у вас) установлена политика транзакций, отклоняющая эту категорию (§5.7).
  • Биржа, Маркетплейс или Приложения показывают ОФЛАЙН: у узла нет нужных эндпоинтов или он недоступен; вкладки продолжают проверку и сами переключаются в ОНЛАЙН.
  • Приложение зависло или браузер закрылся посреди игры: снова откройте то же приложение из лобби, чтобы переподключиться; приложения в блокчейне восстанавливаются из цепочки, приложения в быстром режиме автоматически повторно отправляют ваучеры.
  • Отправленное сообщение или транзакция не видны в «Активности» на другом устройстве: источник Последние транзакции в «Активности» показывает только недавнее окно подключённого узла; для полной истории переключите источник на Все транзакции (архивный).
  • Ссылка для обмена начинается с #: вы запустили кошелёк из локального файла; получатель вставляет фрагмент после …wallet.html в своей копии или в любом кошельке, размещённом на шлюзе.

14. Глоссарий

  • Атомарная единица: наименьшая единица в блокчейне; 10⁻⁸ ZBC.
  • Обеспеченный токен: токен, за которым заблокированы ZBC; при сжигании возвращается пропорциональная доля обеспечения.
  • Набор данных: запись «свойство→значение» в аккаунте; универсальное хранилище данных блокчейна.
  • Эскроу: средства удерживаются, пока назначенный утверждающий не одобрит или не отклонит сделку либо пока она не разрешится автоматически по истечении срока.
  • Быстрый режим / канал: подписанные ваучеры ходов вне блокчейна, по которым производится расчёт одной итоговой транзакцией.
  • Шлюз: веб-сервер, через который подключается кошелёк (ключ ZBG_).
  • Ликвидный платёж: перевод, который непрерывно поступает получателю в течение заданного времени.
  • POOWN: доказательство владения узлом, в котором ключ узла подписывает владельца, хеш свежего блока и высоту.
  • Ретранслятор: сервер звонков и присутствия, работающий при шлюзе (ключ ZBR_).
  • Доступно для трат: баланс за вычетом всего заблокированного (стейки, эскроу, предложения, графики выплат).
  • Сейф: зашифрованное PIN-кодом локальное хранилище сид-фраз, ключей и контактов.
  • Только просмотр: адрес, добавленный без ключа; его можно просматривать, но нельзя подписывать.
  • Адрес ZBS_: аккаунт депозита аренды объекта, который можно пополнять, как любой адрес.
  • ZTX_: отображаемая форма хеша транзакции.