Интеграции
Цепочка полезна лишь настолько, насколько полезны программы, которые до неё дотягиваются. Этот раздел посвящён таким программам: кошельку, которым подписывают люди, ключам, которые могут управлять аккаунтом, инструментам и API, на которых строят разработчики, и публичным сервисам, которые делают цепочку доступной из браузера. Через всё это проходит один принцип: ключ остаётся у владельца. Каждая транзакция собирается и подписывается на собственном устройстве пользователя, а каждый сервис лишь передаёт подписанные байты и публичные данные.
Подписание
- Веб-кошелёк: официальный кошелёк — один HTML-файл, который подписывает в браузере, хранит зашифрованное хранилище на устройстве и может подписывать на компьютере, который никогда не выходит в сеть.
- Проверка загруженного файла: как убедиться, что файл кошелька или узла подлинный, сравнив его хеш SHA-256 с хешами, записанными в цепочке.
- Ключи и типы аккаунтов: аккаунтом может управлять нативный ключ ZooBC или ключ Bitcoin, Ethereum, Solana, Polkadot, Cardano, Ripple, Tron или Tezos, каждый из которых проверяется схемой подписи своей родной цепочки.
- MetaMask и доступ в стиле Ethereum: MetaMask отправляет ZBC между аккаунтами 0x через адаптер в стиле Ethereum, встроенный в каждый узел.
- Подписанные и зашифрованные сообщения: как доказать контроль над адресом без транзакции и зашифровать сообщение для получателя.
- Аппаратные кошельки: спецификация подписания для производителей устройств, запланированный дизайн.
Разработка
- API узла: HTTP API, который предоставляет каждый узел, с более чем сотней маршрутов под
/api/v1/, открытый для любой веб-страницы. - Инструменты командной строки:
zbc-cliи библиотеки на десяти языках программирования под лицензией MIT, одинаковые благодаря общим тестовым векторам.
Публичные сервисы
Три вида сервисов перечислены в реестре в цепочке, так что кошельки находят их без какого-либо центрального каталога:
- Шлюзы: входные двери по HTTPS, которые отдают кошелёк, обозреватель, страницу проверки файлов и, в testnet, кран. Шлюз блокирует стейк и остаётся в списке благодаря подписанным сигналам активности.
- Обозреватель и архивные узлы: архивный сервис рядом с зарегистрированным узлом хранит историю с возможностью поиска, которую показывает обозреватель.
- Ретрансляторы: точки встречи, которые передают сигнализацию звонков и статус присутствия между кошельками.
Ни один из этих сервисов не создаёт блоков — это делают только зарегистрированные узлы (работа узла), — и ни один не хранит ключ пользователя.
Монеты через мост
Четыре монеты в ZooBC представляют монеты других цепочек: ZBTC — биткоин, ZETH — эфир, а ZUSDC и ZUSDT — токены USDC и USDT в Ethereum. Узлы не следят ни за какой чужой цепочкой. Мост входит в ZooBC начиная с версии 0.5.8 и полностью описан в статье мост и обёрнутые монеты; цепочки перезапускаются на версии 0.5.8 без запуска сервиса моста.
Программы-киперы, работающие рядом с узлами, следят за адресами хранения и голосуют аттестациями, подписанными ключами узлов, и ничего не происходит, пока не согласятся две трети учтённых мест — зарегистрированных узлов, которые не приостановлены.
Чтобы вывести монеты, держатель отправляет обёрнутую монету обычной транзакцией TransferToken на счёт хранения моста с сообщением ZBW1|, за которым следует адрес назначения. Как только согласятся две трети учтённых мест, каждый узел сжигает эти единицы со счёта хранения, а подписи киперов, доступные для чтения через API, освобождают монеты в другой цепочке. Выпуск и сжигание идут одна к одной, без комиссии моста.
См. также
Статьи по этой теме
- API узла
HTTP API, который предоставляет каждый узел ZooBC: что он охватывает, как читать цепочку и отправлять транзакции, его ограничения и другие интерфейсы, которые предлагает узел. - MetaMask и доступ в стиле Ethereum
Как MetaMask и другие инструменты Ethereum отправляют ZBC между аккаунтами 0x в ZooBC через адаптер JSON-RPC, встроенный в каждый узел, и как wei пересчитываются в атомарные единицы. - Аппаратные кошельки
Спецификация подписания ZooBC для производителей аппаратных кошельков: что устройство должно разобрать, показать и вычислить, прежде чем подписать транзакцию ZooBC, и почему. - Веб-кошелёк
Как работает официальный кошелёк ZooBC: один HTML-файл, который хранит зашифрованное хранилище на вашем устройстве, подписывает в браузере, держит аккаунты многих форматов и может подписывать офлайн. - Инструменты командной строки
Публичные инструменты ZooBC: zbc-cli и библиотеки на десяти языках, которые собирают, подписывают и отправляют транзакции через HTTP API и остаются побайтно идентичными благодаря общим тестовым векторам. - Ключи и типы аккаунтов
Как адрес ZooBC кодирует тип аккаунта, какие ключи ZooBC и других цепочек могут управлять аккаунтом и как проверяется каждая схема подписи. - Обозреватель и архивные узлы
Почему обычный узел не может ответить на любой вопрос о прошлом, как архивный сервис рядом с зарегистрированным узлом хранит историю с возможностью поиска и как её использует обозреватель. - Подписанные и зашифрованные сообщения
Как доказать контроль над адресом ZooBC без транзакции (ZBC-MSG-v2), как сообщения шифруются для получателя и какие ещё подписи принимает API узла. - Проверка загруженного файла
Как убедиться, что файл кошелька или узла ZooBC подлинный, сравнив его хеш SHA-256 с хешами, записанными в цепочке, — в браузере или из терминала. - Ретрансляторы
Что ретранслятор ZooBC делает для кошельков (сигнализация звонков, статус присутствия, ходы игр-каналов), как кошельки в него входят и как ретрансляторы перечисляются в цепочке. - Шлюзы
Что шлюз ZooBC делает для браузеров, как он направляет запросы к API, как он регистрируется и остаётся в списке в цепочке и какой кран testnet он обслуживает.