Skip to main contentA-REX Foundation

Стандарт

Реализации

Что считается реализацией A-REX Core, какие реализации внесены в список, что говорит заявление о совместимости и как реализация попадает в список.

Что такое реализация

Реализация — это программное обеспечение, которое другие могут проверить на соответствие стандарту. Она бывает одной из четырёх форм:

  • токен партий, реализующий интерфейсы стандарта;
  • хук: контракт правил, который реализует IARexHook и может обслуживать множество токенов;
  • реестр аттестаций: вспомогательный контракт, который реализует IARexAttest для существующего токена;
  • платформа, которая управляет токенами для других, на собственной реализации или на эталонной реализации, развёрнутой без изменений.

Кошельки, обозреватели, индексаторы и другие инструменты, которые только читают токены A-REX, тоже могут быть внесены в список, но им не с чем быть совместимыми.

Эталонная реализация

Эталонная реализация — arex-contracts под лицензией MIT. Она содержит токен и его реестр аттестаций (ARexToken и ARexAttestations), примеры контрактов правил и набор тестов совместимости. Она показывает, что стандарт можно реализовать; она не является стандартом, и реализации не обязаны повторно использовать её код. Пока репозитории закрыты, она предоставляется вместе со стандартом через Запросить ранний доступ.

Реализации в списке

Список следует файлу ADOPTERS.md в репозитории стандарта, который является авторитетной записью. Строки идут в алфавитном порядке, и каждая внесена на одинаковых условиях.

ОрганизацияРольРеализацияСетьСтатусКонтакт
A-REX Foundation: A-REX Platformplatformуправляет токенами для компаний на эталонной реализации, развёрнутой без изменений из её релизовпока не в публичной сетиin development[email protected]

A-REX Foundation также сопровождает спецификацию и эталонную реализацию, поэтому A-REX Platform не является независимым разработчиком реализации: она не учитывается в правиле двух разработчиков, которое регулирует изменения стандарта. Независимых разработчиков реализаций в списке пока нет.

Роли: issuer, warehouse, lab, platform (управляет токенами для других), wallet и indexer. Статусы: planned, in development, pilot (реальные партии, ограниченный охват), production, conformant (проходит набор тестов совместимости, отчёт приложен ссылкой) и retired.

Что означает совместимость

Совместимость проверяется набором тестов совместимости, который поставляется с эталонной реализацией. Набор обращается к реализации только через интерфейсы стандарта и небольшой адаптер, который пишут её авторы, поэтому проверяет каждую реализацию одинаково. Каждый тест указывает положение, которое он проверяет: 87 положений, из них 74 уровня MUST и 13 уровня SHOULD. Прогон завершается одним из трёх вердиктов:

ВердиктЗначение
CONFORMANTвсе положения MUST выполнены
CONFORMANT (with skipped MUST clauses)ни одно положение MUST не провалено, но некоторые пропущены, потому что реализация не предоставляет того, что им нужно
NOT CONFORMANTпровалено хотя бы одно положение MUST

Невыполненные положения SHOULD попадают в отчёт и не меняют вердикт.

Заявление о совместимости называет версию A-REX Core, профиль, версию или коммит набора тестов и дату прогона. Оно публикуется вместе с неотредактированным отчётом, проверенным коммитом или развёрнутыми адресами, списком невыполненных положений SHOULD и всеми намеренными отступлениями, и в нём должно быть объяснено каждое пропущенное положение MUST. Заявление действует для одной версии стандарта: прогон повторяют после обновления и для каждой новой мажорной версии.

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

Включение в список — не одобрение

Строка фиксирует то, что организация заявляет о собственной реализации. Это не одобрение, не сертификация и не аудит со стороны A-REX Foundation или редакторов стандарта; платной сертификации и сборов нет. Статус conformant опирается на опубликованный отчёт, ссылка на который есть в строке; редакторы могут потребовать исправить или отозвать заявление, если отчёт его не подтверждает. Строку, контакт которой не отвечает шесть месяцев или ссылки которой перестали работать, после уведомления могут пометить как retired.

Как попасть в список

  1. Откройте pull request, который добавляет одну строку в ADOPTERS.md в репозитории стандарта, со столбцами таблицы выше. Пока репозиторий закрыт, сначала запросите доступ на странице Запросить ранний доступ.
  2. Укажите контакт, который отвечает. Разработчиков реализаций из списка просят подтвердить предлагаемые изменения стандарта или возразить против них.
  3. Для статуса conformant дайте ссылку на отчёт вашего заявления о совместимости.
  4. Чтобы считаться независимым разработчиком реализации, заявите в pull request, что ваша организация в этой работе не контролируется и не оплачивается A-REX Foundation или другим разработчиком реализации из списка.

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