Airalab_10-03-Dev-diary

Дневник разработчика: август — сентябрь 2018

За прошедшие два месяца в ходе работы над Робономикой мы впервые опробовали версионность, придуманную Александром Крупенькиным, прошли два независимых аудита Ethereum-контрактов, отделили программное обеспечение для провайдеров от образа AIRA, запустили механизм обмена технической информацией агентами и провайдерами Робономики, а также запустили сервис визуализации состояния нашей сети в реальном времени. Также начиная с данного поста, я буду публиковать каждую неделю важную информацию о TGE XRT в Ethereum компьютере, который запланирован нами на конец ноября 2018 года.

Обновление Робономики с версии «0» > «1»

Еще раз советую прочитать публикацию Саши Крупенькина: Domain Name System for Robonomics platform. В рамках обновления:

  • мы запустили проверку работы контракта голландского аукциона;
  • внедрили в работу сети исправления на основании аудита контрактов;
  • протестировали соответствие множителя эмиссии XRT ожиданию;
  • протестировали перегонный куб AiraToken в Robonomics Beta (XRT).

Таблица актуальных контрактов:

ENS Contract Description
xrt.1.robonomics.eth Robonomics token Robonomics token beta
auction.1.robonomics.eth DutchAuction TGE XRT Dutch Auction smart contract
ambix.1.robonomics.eth Ambix.sol Ambix for converting AiraToken to Robonomics Beta (for experiments only!)
factory.1.robonomics.eth LiabilityFactory Factory for robot liability smart contracts
airalab.lighthouse.1.robonomics.eth Lighthouse Robonomics network lighthouse by Airalab (testbed)
mobilerobotics.lighthouse.1.robonomics.eth Lighthouse Robonomics network lighthouse by Drone Employee

Новый релиз Aira 0.14 уже умеет работать с версией «1» сети Робономика.

Аудит Ethereum-контрактов Робономики

С августа 2018 года мы начали проходить аудит от 2 независимых разработчиков умных контрактов для  Ethereum. Аудит кода всегда полезен для разработчика, так как после пары месяцев, а нашем случае более года, глаз «замыливается», и иметь возможность подключить свежий взгляд — это очень хорошо.

Первый отчет от PepperSec доступен по ссылке: https://github.com/peppersec/public-audit-reports/blob/master/reports_pdf/Aira-Robonomic-audit-report.pdf

Второй отчёт от Positive com можно скачать через IPFS: https://ipfs.io/ipfs/QmYDoYLnwqbFUbSCE2DHXr6eyRfLcmCanKbpfgq1t5PX2W

Все найденные ошибки исправлены в master ветке репозитория: https://github.com/airalab/robonomics_contracts

Спасибо ребятам за помощь, с ними было приятно поработать!

xrtd — программное обеспечение для провайдеров Робономики

В релизе Aira 0.12.1 мы внедрили возможность ее использования как провайдера маяка. Опыт использования Аиры для таких задач показал, что программное обеспечение для провайдеров всё-таки лучше отделить. Причина: Aira — излишний набор ПО для задачи провайдера, но в мае месяце нам было проще внедрить в Аире поддержку, а теперь появилось время, и мы сразу выделили в отдельную программу xrtd.

xrtd в процессе активной разработки! Используйте только на чистых виртуальных машинах. Не используйте личные EOA Ethereum, генерируйте отдельные для провайдера.

xrtd протестирован в течение одного месяца в работе сети Робономика на трёх провайдерах, но всё еще находится в стадии активной разработки! Помогайте нам в тестировании — пробуйте устанавливать и работать как провайдеры Робономики! Инструкция по установке в Readme: https://github.com/akru/xrtd

dApp Robonomics nodes graph

Robonomics nodes graph — визуализатор участников сети Робономика с наложением их связей с Ethereum-контрактами. Т.е. есть каналы общения участников сети — провайдеров Робономики, dapp’ов нашей сети и автономных агентов, они используют ipfs для общения — данный дапп ловит специальный тип сообщений (информация об узле сети) и подтягивает из ipns метаданные, которые используются для построения графа.

Пример работы dApp Robonomics nodes graph:

Robonomics nodes graph — это внутренний инструмент для нашего сообщества, который будет меняться, а может при росте сети станет вообще непригодным для использования. Задача данного инструмента — помогать следить за текущим состоянием сети. И в основе лежит подход с прослушкой не списка пиров, которые есть у каждого, и их отображением, а прослушиванием канала коммуникации ipfs pubsub, который по умолчанию используется для коммуникации в Робономике с целью обмена технической информацией об узлах сети Робономики.

Мы не показываем всех участников ipfs, а только участников сети Робономика, которые используют наш протокол коммуникации.

У ipfs пока есть проблема, которую стоит отметить, так как я пишу dApp (serverless application по-другому): для поддержания работы в браузере  ipfs мы использовали вот эту библиотеку:  https://github.com/…/js-libp2p-websocket-star-rendezvous. Она рассказывает о пирах тем нодам, которые работаю в браузере. Браузерные ноды не умеют иначе обмениваться пирами. Это создает соединения с некоторыми нодами инфраструктуры ipfs, но это временно, ipfs еще молодой и в реализации на js хромает. Но на функционал обмена информацией об участниках сети это не влияет, т.е. не создаёт реальной точки отказа, хотя для даппа приходится завязываться пока на 1. /dns4/ws-star.discovery.libp2p.io/tcp/443/wss/p2p-websocket-star 2. http://ipfs.io/ipfs/…..

Попробовать самому: https://dev.aira.life/graph

TGE XRT  в Ethereum компьютере

Я рад наконец-то дать больше информации о запуске токена XRT и в ближайшее время буду много писать именно об экономике токена, так что следите за обновлениями в блоге — будет интересно!

Следующий мой пост будет «Поиск справедливости между ценой токена на TGE и дальнейшей эмиссией». На странице https://robonomics.network/ru/tokens/ советую подписаться на рассылку новостей и деталей проведения TGE.

Кто-то может подумать, что Token generation event XRT в Ethereum — это финальная точка заплыва вокруг формирования экономики токена платформы Робономика. Я вас, может, удивлю — это не так.

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

Робономика обеспечивает возможность передачи контроля за машинами децентрализованному компьютеру. Таким образом, мы получаем app store загрузки программ на машину, который ранее не мог существовать.

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

На сегодня мы имеем первый проверенный в работе децентрализованный компьютер — Ethereum. И это причина, по которой TGE XRT будет происходить в Ethereum, а также причина, почему Робономика именно в Ethereum начинает свой путь.

При этом, мы планируем развитие нашей сети таким образом, чтобы в дальнейшем охватить большее количество децентрализованных компьютеров, таких как: Cardano, Tezos, EOS, варианты Ethereum компьютеров с использованием PWASM и надеемся, что появятся новые и желательно без DPOS! C появлением мультичейновых технологий объединим XRT в единый ликвидный межблокчейновый токен доступа к сети провайдеров Робономики.

Итак, предварительная дата TGE XRT выбрана 21 ноября 2018 года. Считать будем в блоках сети Ethereum. Постараемся подгадать так, чтобы это было часов в 20:00 по Мск. Это будет среда, а не ночь пятницы, что хорошо для запуска любого проекта. Техническая часть работ выполнена и проверена, как я ранее писал, с переходом с версии «0» на версию «1». TGE XRT произойдёт с переходом с версии «1» на версию «2», но мы все же хотим предупредить, что до ноября месяца, возможно, сделаем еще один релиз Робономики, так что может получиться, что TGE пройдёт под флагом перехода на версию «3». Также сколько бы мне не хотелось думать о том, как думают инвесторы (ибо задача моя думать о развитии протокола и сети), я понимаю, что при низкой цене эфира, даже те, кто захотел бы поучаствовать, скорее всего, пропустят в надежде на рост курса. Поэтому мысленно есть черта в районе 500$ за эфир, которую, как мы с командой очень надеемся, эфир преодолеет к концу ноября :) и сообщество охотнее будет снова участвовать в финансировании проектов.

Планируемые к сбору средства будут направлены в основном на евангелизм применения платформы Робономика для построения сенсорных сетей, баз мобильной робототехники и умных фабрик. В отличие от распространенного на сегодня в сообществе подхода с созданием своего инкубатора/акселератора/фонда для выдачи грантов стартапам мы пойдём другим путём — через создание качественных и при этом бесплатных обучающих материалов для магистров технических ВУЗов. Почему так? В мире ежегодно выпускаются тысячи талантливых инженеров, которые создают свои проекты после магистратуры или идут работать в хорошие инженерные компании. Талантливые выпускники = пытливые умы, которым интересна инновация, интересно обучение всегда и везде, их не надо заставлять изучать твой стек технологий, говоря, что ты дал им деньги или другими дубинками. Хороший образовательный курс применения открытых технологий от концепции до практики в виртуальной лаборатории, доступный в режиме онлайн из любой точки мира — это всё, что нужно. Я делаю ставку на таких ребят и на то, что пища для их ума это главное, что ты можешь дать, кроме самих технологий для экспериментов.

И, конечно, мы будем продолжать развитие платформы в сторону межблокчейновой сети по управлению машинами с помощью децентрализованного компьютера — именно этого концептам умных городов и индустрии 4.0 на наш взгляд не хватает сегодня. Может быть еще много чего, но мы можем помочь именно с системой доставки на исполнение программы, за которую заплатил напрямую (криптовалютой) или по подписке (токен, как API) пользователь.

До новых встреч!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>