🌐 Дорожная карта программного обеспечения EOS.IO
В этом документе обозначен общий план разработки, который будет обновляться по мере прогресса в работе над версией 1.0. Нужно отметить, что эта дорожная карта применима только к программному обеспечению блокчейна и не относится к другим инструментам и утилитам, например, кошелькам и обозревателям блоков, для разработки которых после завершения Этапа 1 будут созданы отдельные команды и дорожные карты.
Всё содержимое этого документа находится на стадии черновика и может измениться в любое время. Предоставленная информация служит сугубо информационным целям.
block.one не гарантирует точности информации в этой дорожной карте, которая предоставляется "как есть" без явных или подразумеваемых гарантий и заявлений.
Этап 1 - Минимальная необходимая тестовая среда - Лето 2017
Цель этого этапа — установить API, которые потребуются разработчикам, чтобы начать создавать и тестировать приложения на EOS.IO. Чтобы разработчики могли начать тестировать свои приложения, необходимо реализовать следующие пункты:
Автономный узел (Дэн и Нэйтан)
Автономный узел обеспечивает работу тестового блокчейна и производит блоки, предоставляя доступ к API. Этому узлу не нужно задействовать какой-либо код P2P сетей.
Нативные контракты (Нэйтан)
Программное обеспечение EOS.IO обладает рядом нативных контрактов. Это контракты, управляющие основными операциями блокчейна и существующие вне интерфейса Web Assembly. Эти контракты включают в себя:
- @eos - управляет переводами токена EOS
- @stake - управляет удерживаемыми EOS, голосованием и выборами Производителей
- @system - управляет разрешениями, сообщениями и обновлениями контактного кода
API виртуальной машины (Дэн)
Контракты компилируются в WebAssembly (WASM), и WASM должен взаимодействовать с блокчейном через определенный API. Этот API — то, от чего зависит возможность разработчиков строить приложения и стабильно контролировать процесс, прежде чем разработчики действительно смогут начать строить на EOS.
Интерфейс RPC (Архаг, Нэйтан)
Разработчикам будет предоставлен простой JSON RPC через HTTP интерфейс, что позволит им транслировать транзакции и запрашивать состояние приложения. Это крайне важно как для публикации, так и для взаимодействия с тестовыми приложениями.
Инструменты командной строки (Архаг)
Инструменты командной строки позволяют интегрировать интерфейс RPC в среды сборки разработчиков.
Базовая документация для разработчиков (Джош)
Документация, объясняющая разработчикам, как начать строить на блокчейнах EOS.IO. Включает в себя документацию по WASM API, интерфейсу RPC и инструментам командной строки.
Этап 2 - Минимальная необходимая Тестовая сеть - Осень 2017
Всё представленное в Этапе 1 предполагает наличие доверенной среды, которая работает только с кодом самого разработчика. Прежде чем будет развернута тестовая сеть, нужно будет внедрить и протестировать несколько дополнительных функций:
Сетевой код P2P (Фил)
Это плагин, отвечающий за синхронизацию состояния блокчейна между двумя автономными узлами.
WASM чистка и CPU песочница (Брайан)
Код WASM требует чистки, дабы убедиться в отсутствии недетерминированного поведения, такого как операции с плавающей точкой и бесконечные петли.
Отслеживание использования ресурсов и Ограничение скорости (Архаг)
В целях предотвращения злоупотреблений мониторинг ресурсов и отслеживание использования ограничивают пользователей по скорости в соответствии с их долей в EOS.
Тестирование импорта Genesis блока (DappHub)
Необходимо разработать инструменты для экспорта данных из состояния распределения токенов EOS и создания файла исходной конфигурации. Это позволит всем участникам распределения токенов получить некоторый первоначальный тестовый EOS (TEOS).
Межблокчейновая связь (Нэйтан)
Эта функция включает в себя проверку правильности хэширования Меркла транзакций.
Этап 3 - Тестирование, Проверка безопасности - Зима 2017 / весна 2018
На этом этапе платформа будет проходить интенсивные испытания, сфокусированные на поиске уязвимостей в безопасности и багов. В конце 3-го этапа будет выпущена версия 1.0.
Разработка примеров приложений
Примеры приложений необходимы для доказательства того, что платформа предоставляет реальным разработчикам все необходимые функции.
Баунти за успешную атаку сети
Сеть будет активно атаковаться спамом, эксплойтами виртуальных машин, остановкой из-за багов и нетерминистическим поведением, но сначала нужно будет удостовериться в стабильности версии 1.0.
Поддержка языков
Добавление поддержки нескольких дополнительных языков, которые будут компилироваться в WASM: C++, Rust и т.п.
Документация и руководства
Этап 4 - Параллельная Оптимизация - Лето / Осень 2018
После выпуска стабильной версии продукта 1.0 мы перейдем к оптимизации кода для параллельного исполнения.
Этап 5 - Формирование кластеров - Будущее
Свежие новости в Телеграм: t.me/EOS_RU
Оригинал поста: ЗДЕСЬ