Разработчикам
Разработка прямо на устройствах.
Команды, состояние и события устройств разных производителей доступны через один открытый API, без SDK и перепрошивки. Владелец устройства, обслуживающая нода и параметры лежат в TON. Там их нельзя подделать, и они не пропадут вместе с чьим-то сервером.
01 · Возможности
Что может разработчик.
События устройства
Любая программа на устройстве сообщает о факте: авторизации, аномалии, показании датчика. Рецепты для Shell, Python и C собраны в статье «События устройства».
Открыть →Связь через контракты
Контракт одного устройства шлёт сообщение контракту другого, и правило работает в TON без сервера посередине. Код и выкатка разобраны в статье «Связь устройств через контракты».
Открыть →Доступ через API
Команды, состояние и платежи любого устройства идут через один HTTP API, кто бы ни сделал железо. Чтение открыто, изменение идёт по подписи владельца.
Открыть →Интеграция с ИИ
Языковая модель работает поверх того же API. Устройства, события и платежи она читает сама, а любое изменение оформляет как запрос на подпись владельца.
Открыть →02 · Порядок работы
Из чего складывается работа с устройством.
Первые четыре шага делаются в день установки и не требуют правки контрактов. Пятый — это работа с кодом на Tact, языке смарт-контрактов TON, и обновление контракта устройства.
03 · Основы архитектуры
Быстрое идёт через ноду, проверяемое хранится в TON.
Команды, состояние и события любого устройства идут через один API, кто бы ни сделал железо. Скрипт отправляет команду HTTP-запросом на ноду. Нода находит устройство даже за файрволом или серым NAT и передаёт команду по CoAP, лёгкому протоколу для устройств. Блокчейн в этом пути не участвует.
Агент subrose хранит ключи устройства, проверяет подпись владельца и только после этого выполняет команду. В TON живёт то, что должно быть проверяемым: владелец устройства, обслуживающая нода, параметры и значимые события вроде регистрации. Собственные события читаются в консоли или через API.
04 · Смарт-контракты
Контракт устройства — открытый код.
Контракт устройства — это запись в TON: владелец, права, оплата. Устроена она как программа на Tact с открытым исходником, и логику можно заменить. Обновление проходит на месте, адрес остаётся прежним, а провести его может только ключ устройства или владелец с полными правами.
Контракты в TON шлют сообщения друг другу. Контракт одного устройства можно научить отправлять сообщение контракту второго, и второе устройство отреагирует: например, сменит настройку. Такие цепочки работают прямо в TON, без сервера посередине.
Такую логику пишут сами, на Tact. Исходники всех контрактов открыты, поэтому начать можно с контракта нужного устройства. Весь путь от сообщения до реакции железа разобран на странице «Связь устройств через контракты».
05 · Что строить
С чего начать.
Панель для своего парка
Команда уходит curl-запросом, статус приходит одним GET. Примеры запросов и формат ответа есть на странице «События устройства». Из этого собирается панель или бот с правами по ролям.
Свои сценарии
Скрипт читает события одного устройства и отдаёт команду другому. Логика остаётся у разработчика, а интерфейс к железу один. То же правило можно перенести в TON: связь устройств через контракты.
Любое железо
Агент собирается для Linux (x86_64), macOS (universal, Intel и Apple Silicon), OpenWrt, Keenetic и Raspberry Pi. Windows на подходе.
06 · Своя языковая модель
ИИ-чат — обычный клиент поверх открытого API.
В веб-консоли Subrose работает ИИ-чат. Для системы это просто ещё один клиент. Устройства, события и платежи модель читает сразу, а любую запись чат оформляет как запрос на подпись владельца. Ключи устройств модели недоступны.
Тот же API открыт всем, и клиент можно собрать на любом стеке. Модель можно подключить локальную, тогда данные не уходят в чужой API.
07 · Готово и что дальше
Система сегодня.
В TON лежат владелец устройства, обслуживающая нода, параметры и значимые события. Свои события читаются через API, а для истории поглубже их складывают у себя.
Автоматический платёж с самого устройства на подходе. Доля ноды и производителя раскладывается сама в момент списания, о деньгах подробно написано на странице «Начать». Готовых блоков для реакции одного устройства на другое пока нет: цепочку контрактов пишут сами на Tact по разбору с примерами кода или держат эту логику в своём клиенте.
Роутер на OpenWrt, Raspberry Pi, Linux-сервер или Mac: всему этому железу Subrose даёт один открытый API.
08 · Операторам нод
Нода приносит долю.
Нода обслуживает устройства и с каждого списания получает долю. Как это устроено, написано на странице «Операторам нод».
Стать оператором ноды09 · Вопросы
Вопросы, которые обычно задают разработчики.
subrose emit, без SDK и перепрошивки. Команды, состояние и события устройств разных производителей доступны через один HTTP API.Начать
Старт с реального устройства.
Установка агента subrose, привязка устройства в веб-консоли по коду из терминала и первое событие.
Открыть инструкцию