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

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

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

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

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

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

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

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

Руководство по CLI ZooBC

zoobc-cli: один исполняемый файл для всех транзакций

Один инструмент командной строки, который собирает, подписывает и отправляет любую транзакцию ZooBC: 50 команд, от простой send-zbc до мультиподписи, регистрации узлов, биржи, хранилища в блокчейне и управления. По умолчанию удобен для машин (JSON на входе, JSON на выходе), а для людей есть интерактивный режим.

01Загрузка

Скачайте сборку для Linux x86_64, распакуйте и запускайте. Без установки и без зависимостей.

⬇ Скачайте zoobc-cli (Linux x86_64)

# unpack and put it on your PATH
tar xzf zoobc-cli-linux-x86_64.tar.gz
sudo mv zoobc-cli /usr/local/bin/

# point it at any node or gateway (default: http://localhost:8080)
# https://zoobc.network is the public TestNet gateway, not MainNet
zoobc-cli list --api https://zoobc.network

Другие платформы появятся позже; пока доступна сборка для Ubuntu / Linux x86_64.

02Три способа запуска

По умолчанию: JSON на входе, JSON на выходе

Передавайте параметры позиционными аргументами и получайте результат в JSON. Этот режим используют другие приложения и скрипты. Первым параметром всегда идёт закрытый ключ отправителя.

zoobc-cli send-zbc <privkey> ZBC_4HFG43GR_… 100000000 --api $API
→ {"transaction_hash":"a5f1…","amount":100000000, …}

Интерактивный, --verbose

Запрашивает каждое поле по очереди, затем выводит понятный человеку результат. Удобно для разовых операций.

zoobc-cli issue-token --verbose --api $API
Sender private key: … · Symbol: … · Name: … · Decimals: …

JSON через конвейер, --json-input

Читает параметры как JSON-объект из stdin; ключи в точности те, что выводит help <cmd>.

echo '{"sender_privkey":"…","recipient":"ZBC_…","amount":"100000000"}' \
  | zoobc-cli send-zbc --json-input --api $API

03Что отправлять

Две встроенные команды расскажут всё, читать исходный код не нужно.

zoobc-cli list              # every command, grouped by category
zoobc-cli help multisig     # the JSON fields for ONE command

help <cmd> выводит ключ каждого поля, признак обязательности, значение по умолчанию и готовый к правке пример JSON-объекта:

multisig, N-of-M multisig SendZBC (inner tx + participant signatures)  (tx type 5)
  sender_privkey    (required) Sender private key (64 hex)
  participants      (required) comma-separated participant ZBC addresses
  min_signatures    (required) required signatures (N of M)
  nonce             (optional) multisig account nonce  [default: 0]
  signer_privkeys   (required) participant keys that sign now
  recipient         (required) inner SendZBC recipient address
  amount            (required) inner SendZBC amount (atomic units)
  inner_fee         (optional) inner SendZBC fee (atomic)  [default: 10000000]
Sample: {"sender_privkey":"…","participants":"…", …}

04Общие флаги и соглашения

--api <url>Эндпоинт узла или шлюза. По умолчанию http://localhost:8080. Для публичного TestNet укажите https://zoobc.network. Это действующая тестовая сеть, а не MainNet.
--fee <n>Переопределяет комиссию за транзакцию (в атомарных единицах ZBC). Если не указан, используется значение по умолчанию или минимум с учётом размера.
--verboseИнтерактивные запросы + понятный человеку вывод (см. режим 2).
--json-inputЧитает параметры как JSON-объект из stdin (режим 3).

Все суммы и цены задаются атомарными целыми числами (ZBC ×1e8; суммы токенов ×10^decimals; цены ордеров ×1e8). Адрес можно указать полной строкой ZBC_… или в hex. При некорректном вводе инструмент никогда не падает, а возвращает JSON-объект ошибки (или текстовую ошибку в режиме --verbose).

05Разобранные примеры

# transfer a colored token
zoobc-cli transfer-token $KEY ZBC_6FINNB6J_… <token_id> 500 --api $API

# register a validator node (owner signs; node key supplies the pubkey; PoOwnership is built for you)
zoobc-cli register-node $OWNER_KEY $NODE_KEY 100000000000 --api $API

# open an N-of-M multisig and sign with your key (others co-sign later)
zoobc-cli multisig $KEY "ZBC_A…,ZBC_B…,ZBC_C…" 2 0 "$KEY" ZBC_A… 100000000 5000000 --api $API

# schedule a vesting/recurring payment: 1 ZBC per fire, 12 fires, monthly
zoobc-cli scheduled-transfer $KEY ZBC_… 0 100000000 2592000 12 0 0 0 0 --api $API

06Все 50 команд

Точная побайтовая структура тела каждой транзакции приведена в Руководстве по транзакциям. Чтобы узнать поля команды, выполните zoobc-cli help <cmd>.

Ценности и токены
send-zbcОтправить ZBC на адрес
liquid-paymentПостепенная выплата ZBC во времени (вестинг)
liquid-payment-stopОстановить ликвидный платёж (пропорциональный расчёт)
transfer-tokenПеревести имеющийся цветной токен
issue-tokenВыпустить токен цветной монеты
mint-tokenДовыпустить токен с возможностью эмиссии
burn-tokenСжечь токен (с погашением обеспечения, если это предусмотрено)
finance-tokenПополнить финансирование существования токена
Биржа и маркетплейс
market-createОткрыть рынок с книгой ордеров (base,quote)
order-placeРазместить лимитный/рыночный ордер
order-cancelОтменить ожидающий ордер
swap-createСоздать предложение атомарного обмена
swap-acceptПринять (исполнить) предложение обмена
swap-cancelОтменить открытое предложение обмена
Приложения
app-createСоздать приложение (на 2 игроков или соло против казино)
app-joinПрисоединиться к открытому приложению
app-moveОтправить ход
app-resignСдаться в приложении
app-claimЗаявить требование по просроченному приложению
app-settleРассчитать приложение канала состояния (воспроизведение ваучеров)
Хранилище и данные
store-fileЗакрепить файл в децентрализованном хранилище (манифест + аренда)
add-prepaid-storageОплатить аренду хранилища для аккаунта
setup-datasetЗадать свойство→значение в наборе данных аккаунта
remove-datasetУдалить свойство из набора данных аккаунта
delete-datasetУдалить объект набора данных (с возвратом депозита)
set-dataset-policyЗадать политику управления объектом набора данных
transfer-datasetПредложить передачу объекта набора данных
accept-datasetПринять ожидающую передачу набора данных
Аккаунт: эскроу · планировщик · триггеры · мультиподпись · голосование
multisigSendZBC с мультиподписью N из M (внутренняя транзакция + подписи)
escrow-requestСоздать запрос эскроу по инициативе получателя
approve-escrowОдобрить / отклонить / завершить по сроку эскроу
scheduled-transferВестинг / регулярные переводы по таймеру
cancel-scheduleОтменить ожидающий запланированный перевод
reassign-scheduleПеренаправить расписание новому получателю
create-triggerЗапланировать будущий SendZBC (keeper/оракул)
cancel-triggerОтменить ожидающий триггер (с возвратом)
attest-eventПодтвердить внешнее событие (узел-оракул)
fee-vote-commitФаза фиксации голосования о шкале комиссий
fee-vote-revealФаза раскрытия голосования о шкале комиссий
Оператор узла
register-nodeЗарегистрировать узел-валидатор (подписывает владелец; формирует ProofOfOwnership)
update-nodeОбновить заблокированный баланс / регистрацию узла
remove-nodeИсключить узел из набора валидаторов
claim-nodeВернуть ранее удалённую регистрацию
Оператор шлюза
register-gatewayЗарегистрировать шлюз (ключ + домен + url, блокирует стейк)
unregister-gatewayОтозвать шлюз; вернуть стейк
gateway-heartbeatПодтвердить работу шлюза: подписывается ключом самого ШЛЮЗА, но передать может любой отправитель
Управление (издатель релизов)
register-releaseОпубликовать подписанный бинарный релиз
revoke-releaseОтозвать опубликованный релиз
release-authority-proposeПредложить нового издателя релизов
release-authority-acceptПринять передачу полномочий издателя релизов
Часть руководств ZooBC. Побайтовая структура описана в Руководстве по транзакциям · откройте кошелёк или обозреватель · вернитесь на главную страницу шлюза.