9 мин чтения
Как пользоваться CardanoWall без сайта
Сайт — это один из интерфейсов, а не весь продукт. Публиковать и проверять записи Label 309 можно через CLI, SDK, API шлюза, десктоп-приложение или собственный сервис.

Пользоваться CardanoWall можно, ни разу не открыв сайт. Те же записи Proof of Existence создаются, публикуются и проверяются из инструмента командной строки, из SDK в коде вашего приложения, через API шлюза, из десктоп-приложения или из сервиса, который вы запускаете сами. Сайт — это лишь один из интерфейсов поверх открытого стандарта Label 309, а по-настоящему важен именно стандарт.
В этом и весь смысл. Подтверждение существования часто бывает вовсе не разовым действием человека. Его место — внутри сборочного конвейера, в процедуре комплаенса, в системе установления происхождения для ИИ, в рабочем процессе сбора юридических доказательств или в продукте, который кто-то строит сам. Ни одно из этих применений не должно требовать, чтобы человек кликал по единственному веб-интерфейсу.
Что на самом деле делает сайт?
Сайт делает подтверждение существования доступным. Он даёт вам визуальный композер, экран счёта и баланса, страницы записей, управление идентичностями, процесс загрузки и публикацию с подсказками. Для большинства людей это правильная точка старта.
Но он не должен быть единственным способом пользоваться стандартом. Если подтверждение работает только тогда, когда человек проходит через один интерфейс, оно никогда не станет инфраструктурой. Компаниям нужна автоматизация. Разработчикам нужны API и SDK. Командам эксплуатации и безопасности нужны повторяемые, скриптуемые рабочие процессы. Кому-то нужно держать свои записи и файлы на собственной машине. Кому-то из операторов нужно запускать весь конвейер самостоятельно.
Веб-приложение — это парадная дверь. Это не всё здание.
Какими ещё способами можно им пользоваться?
Их несколько, и все они сходятся к одному и тому же артефакту — стандартной записи Label 309, закреплённой в Cardano, которую любой может проверить независимо:
- веб-приложение CardanoWall;
- инструмент командной строки
cardanowallс открытым исходным кодом; - официальные SDK (TypeScript, Python, Rust) для кода приложений;
- API шлюза Label 309, доступный по токену для каждого аккаунта;
- CardanoWall Desktop — локальный клиент с открытым исходным кодом;
- шлюз, который вы размещаете у себя;
- ваш собственный продукт, построенный поверх шлюза.
Интерфейс может меняться. Формат подтверждения — нет. Весь этот код открыт под github.com/cardanowall, под лицензией Apache-2.0, а текст спецификации — под CC-BY-4.0.
Когда стоит использовать API шлюза?
Используйте API тогда, когда публикация или чтение подтверждений должны быть частью системы, а не ручным шагом. Например:
- SaaS-продукт создаёт подтверждение для каждого клиентского документа;
- сборочный конвейер публикует свидетельства релиза после каждой сборки;
- ИИ-платформа закрепляет в блокчейне пакеты сгенерированных результатов;
- система комплаенса публикует ежедневный снимок контрольных показателей;
- рабочий процесс запечатывает доказательства для конкретных получателей;
- внутренняя панель читает статус публикации и баланс счёта;
- партнёрская интеграция отправляет записи, не касаясь интерфейса CardanoWall.
Путь через API позволяет вашему софту обращаться к шлюзу напрямую, сохраняя ваш собственный пользовательский опыт. Веб-приложение и worker самого CardanoWall обращаются к шлюзу ровно через эти же публичные эндпоинты — приватной двери нет, поэтому всё, что умеет эталонный продукт, доступно и вам. Если хотите углубиться в эту тему, см. как строить на API CardanoWall.
Как устроены API-токены и их области?
Шлюз различает два вида учётных данных, и держать их раздельно — самое важное, что нужно сделать правильно.
Токены аккаунта действуют от имени одного из ваших пользователей. Ваш бэкенд выпускает короткоживущий токен для конкретного аккаунта, и вызов выполняется под ним: запросить расчёт стоимости, загрузить содержимое, опубликовать, прочитать баланс этого аккаунта. Именно такие токены — и API-ключи, построенные по той же модели, — место которым в скриптах, CI-задачах и интеграциях. Они намеренно узкие. Текущий набор областей мал и создан под конкретные задачи:
poe:create— запрашивать расчёты стоимости, загружать содержимое, публиковать записи;poe:read— читать записи и статус публикации;inbox:read— читать зашифрованную закладку синхронизации входящих;account:read— читать баланс счёта.
Это вся программная поверхность, и она ограничена по областям намеренно. Виджету
панели только для чтения нужен лишь account:read. Задаче публикации нужен
poe:create. Ни одной из них не нужно то, что у другой. Намеренно нет области
для расшифровки на сервере: запечатывание и распечатывание — операции на стороне
клиента, поэтому приватные ключи получателей никогда не попадают на шлюз, и
никакой API-ключ не сможет уполномочить сервер прочитать за вас запечатанное
содержимое. CI-задача точно так же не должна хранить Identity Seed пользователя,
если только локальное подписание не является осознанной частью вашей собственной
архитектуры, под вашим собственным контролем: сиды и приватные ключи по
определению остаются на клиенте, и шлюз их никогда не видит.
Учётные данные оператора — это второй вид, и это не API-ключи. Они авторизуют управляющий слой: создание аккаунтов, применение корректировок баланса, когда ваш биллинг получает деньги, установку маржи, выпуск тех самых токенов аккаунта выше. Они должны жить только на доверенном бэкенде, и никогда — в браузере, мобильном приложении или скрипте. Утёкший токен аккаунта должен оставаться короткоживущей неприятностью; утёкшие учётные данные оператора стали бы настоящим инцидентом.
Практическое правило: выдавайте клиентам тот узкий токен с областью аккаунта, который им нужен, а полномочия оператора держите за своим собственным бэкендом.
Когда стоит использовать CLI?
Используйте инструмент командной строки, когда подтверждению место в скрипте.
Бинарник cardanowall не привязан к конкретному шлюзу и работает прежде всего с
сырыми сидами, что делает его естественным выбором для:
- проверки записи локально, без открытия какого-либо сайта;
- построения и проверки доказательств Merkle по множеству файлов;
- подписания записей;
- отправки записей из автоматизации;
- синхронизации входящих и пробного расшифровывания из терминала.
CLI важен прежде всего тем, что держит подтверждение существования рядом с системами, которые порождают артефакты. Сборочный конвейер может вычислить хеши своих результатов и опубликовать запись как часть релиза. Задача комплаенса может зафиксировать ежедневный манифест. Локальный пользователь может проверить запись офлайн. Сайт хорош для людей; CLI хорош для повторяемых операций. Шаблоны и примеры см. в как использовать CLI в автоматизации.
Когда стоит использовать SDK?
Используйте SDK, когда Label 309 должен стать частью вашего приложения. SDK для TypeScript, Python и Rust помогают конструировать записи, хешировать содержимое, проверять транзакции, подписывать вне хоста, запечатывать и расшифровывать данные, выводить идентичность из сида и общаться с любым шлюзом.
Смысл иметь три SDK — не в удобстве, а в совместимости. Это байт-в-байт идентичные близнецы, проверенные на одних и тех же канонических тестовых векторах, поэтому запись, опубликованная или подписанная одним из них, проверяется точно так же под остальными. Именно так открытый стандарт остаётся открытым стандартом, а не распадается на взаимно несовместимые «совместимые» форматы. Стоит отдельно выделить одно полезное свойство: автономному верификатору нужны только метаданные транзакции, по желанию — байты содержимого и публичный обозреватель блокчейна Cardano; в цепочке доверия нет ни одного сервера издателя.
Когда стоит выбрать Desktop вместо сайта?
Используйте десктоп-приложение, когда важно локальное владение. CardanoWall Desktop — это кроссплатформенный клиент с открытым исходным кодом, работающий прежде всего офлайн, написанный на Rust с Tauri поверх Rust SDK, и работает он как почтовый клиент: он даёт вам
- локальные зашифрованные хранилища идентичности;
- офлайн-доступ ко всему, что уже синхронизировано;
- обнаружение запечатанных входящих и кэш шифротекста на вашей собственной машине;
- локальный поиск по публичному индексу записей;
- несколько идентичностей и выбор провайдера шлюза.
Сайт остаётся быстрым и удобным, тогда как десктоп-приложение — лучший дом, когда вы хотите, чтобы ваши записи, идентичности и кэшированные файлы жили локально и продолжали работать без сети. Для многих ответом окажется и то, и другое. Подробнее о том, как это устроено, в CardanoWall Desktop и офлайн-подтверждения.
Когда стоит размещать шлюз у себя?
Размещайте шлюз у себя, когда хотите сами управлять конвейером публикации — ради комплаенса, структуры затрат, объёмов, политики обработки данных, контроля над инфраструктурой или продуктовой стратегии.
Самостоятельно размещённый шлюз по-прежнему публикует стандартные записи Label 309; разница в том, что сервис, который рассчитывает стоимость, загружает, отправляет, подтверждает, индексирует и ведёт учёт публикаций, запускаете вы. Шлюз — это один бинарник на Rust с открытым исходным кодом плюс Postgres, с собственным построителем транзакций Cardano, который строит, отправляет, подтверждает, обрабатывает реорганизации блокчейна и автоматически возвращает средства при необратимом сбое.
Самостоятельное размещение не «бесплатно». Вы по-прежнему оплачиваете базовые расходы Cardano и Arweave и берёте на себя операционную ответственность за работу сервиса. Что вы убираете — это любую зависимость от размещённого шлюза CardanoWall для публикации. См. как запустить собственный шлюз и что такое шлюз Label 309?.
Можно ли построить собственный продукт на шлюзе?
Да — и именно ради этого разделения шлюз вынесен в отдельный слой, отличный от веб-приложения. Поверх шлюза Label 309 можно построить продукт для нотаризации, портал доказательств, архив для комплаенса, инструмент публикации, сервис установления происхождения для ИИ или внутреннюю панель.
Шлюз владеет базовым слоем: блокчейном, хранилищем, ценообразованием, общим индексом записей в блокчейне, балансами и статусом публикации. Ваш продукт владеет вендорским слоем: пользователями, биллингом, интерфейсом, рабочими процессами, уведомлениями, поддержкой и тем продуктовым смыслом, который вы накладываете поверх записей. Это позволяет куда большему числу продуктов разделять один стандарт подтверждения, не вынуждая каждую команду становиться оператором транзакций и хранилища Cardano. Пошаговый разбор — в как строить на шлюзе Label 309.
Можно ли проверить запись вообще без CardanoWall?
В этом и состоит цель, и это самая весомая причина существования всего остального. Верификация не должна зависеть от сайта CardanoWall. Любой должен иметь возможность прочитать метаданные транзакции, восстановить запись Label 309, проверить её структуру, проверить любые подписи над записью, заново вычислить хеш содержимого и — при наличии нужного ключа — локально расшифровать запечатанную запись.
Подтверждение, которое умеет проверить лишь один сайт, — это слабое подтверждение. Открытые SDK, открытый CLI и открытая спецификация — вот что делает подтверждение Label 309 проверяемым кем угодно, включая третьи стороны, которые никогда не касаются CardanoWall. Если хотите сделать это сами, начните с как проверить запись Label 309.
А что насчёт стоимости?
Смена интерфейса не убирает базовую стоимость. Публикуете ли вы с сайта, из десктоп-приложения, из CLI, через API или из собственного продукта — кто-то по-прежнему платит реальные комиссии за транзакции Cardano плюс любое хранилище, использованное под файлы или шифротекст. Размещённый шлюз добавляет сверху маржу, чтобы покрыть эксплуатацию, финансирование, инфраструктуру и поддержку, поэтому цена — это пробрасывание затрат плюс эта маржа.
Если вы пользуетесь размещённым шлюзом CardanoWall, вы пользуетесь его моделью предоплаченного баланса и ценообразования. Если вы размещаете шлюз сами — вы напрямую эксплуатируете и финансируете собственный шлюз. В любом случае стандарт делает портативной запись — он не делает бесплатными блокчейны или хранилище. Логика подробно разобрана в почему у публикации есть цена.
Одно важное ограничение
Подтверждение Label 309 показывает, что конкретные байты существовали к определённому публичному моменту времени и что с тех пор они не менялись. Оно не доказывает, кто создал содержимое, кому оно принадлежит, истинно ли оно и есть ли у кого-то на него права. Запечатанная запись сохраняет открытый текст читаемым только для предполагаемых владельцев ключей, но не может гарантировать анонимность и не может помешать получателю слить открытый текст после того, как он его расшифровал. Держите эту границу в уме, из какого бы интерфейса вы ни публиковали.
Если коротко
CardanoWall — это не только сайт. Сайт — самый простой интерфейс для людей; шлюз — слой публикации; CLI и SDK — поверхности для разработчиков; десктоп-приложение — локальный клиент, работающий прежде всего офлайн; самостоятельное размещение — путь оператора. Все они производят одно и то же: стандартную запись Label 309, которую можно проверить вне того интерфейса, что её создал.
Выбирайте интерфейс под задачу. Используйте сайт для людей, CLI — для скриптов, SDK — для продуктов, API — для систем, а самостоятельно размещённый шлюз — когда вам нужна независимость от вендора или операционный контроль.
Что почитать дальше
- Как строить на API CardanoWall
- Как использовать CLI в автоматизации
- Как строить на шлюзе Label 309
- Как запустить собственный шлюз
- Как проверить запись Label 309
- Почему у публикации есть цена
- Открытый исходный код и SDK: github.com/cardanowall
- Стандарт Label 309: label309.org. Label 309 также подан в процесс CIP Cardano и находится на рассмотрении редакторов CIP — следить за открытым предложением можно в pull request #1205.