Релиз Бета-версии тестовой сети (Epik)

Привет, сообщество IoTeX! С момента нашего последнего выпуска кода, Альфа-версии тестовой сети в июне, команда IoTeX круглосуточно работала над нашими технологиями, стратегическими партнерствами и сообществом. Мы официально запустили сайт партнерской программы IoTeX и на данный момент, представили семь удивительных стратегических партнеров. Мы привлекли новых инженеров высшего уровня в нашу команду и имели удовольствие делиться видением IoTeX на конференциях и встречах по всему миру. Самое главное, мы сделали большой прогресс в нашем техническом развитии. Сегодня мы рады запустить наш третий релиз кода: тестнет Бета, кодовое название “Epik”!

Вы можете увидеть открытый исходный код на нашем Github сейчас: https://github.com/iotexproject/iotex-core

Подробные инструкции по запуску кода Epik приведены в этом файле README, а подробное обзорное видео можно найти здесь

Почему “Epik”? — Rob Pike

Epik назван в честь Robert “Rob” C. Pike, канадского программиста и автора, который внес свой вклад в создание языков программирования Go (Golang), Limbo и Sawzall. Как вы, возможно, уже заметили, Epik-это перестановка “Pike”, следуя нашей тенденции называть каждый выпуск кода IoTeX после одного из наших технологических идолов.

Pike наиболее известен своим вкладом в языки программирования, графические терминалы, патенты, множество текстовых редакторов и многое другое. Блокчейн IoTeX кодируется в Golang, который Pike создал из-за простоты развертывания, функций параллелизма, сосредоточения на масштабируемости и т.д. Кодовое название этого релиза “Epik” является данью инновациям Pike, которые обеспечивают строительные блоки для IoTeX, других компаний и разработчиков по всему миру для сегодняшних инноваций.

Обзор и функций Epik

В нашем втором выпуске кода, тестнет Альфа (кодовое имя “Strive”), мы представили несколько собственных инноваций, которые показали, как первоначальные дизайнерские решения IoTeX работают вместе. Strive заложил первоначальный план видения IoTeX для создания приватного, масштабируемого и совместимого блокчейна, не жертвуя безопасностью и производительностью. Наряду с выпуском кода, мы также продемонстрировали код, выполняемый на облегченных устройствах Интернета Вещей. Для получения более подробной информации о нашей предыдущей версии, пожалуйста, смотрите наш блог о Strive и демо-видео.

За последние два месяца, технологическая команда IoTeX не только улучшила код Strive, но и разработала множество новых функций для Epik, ориентированных на обеспечение удобства использования и ценности тестовой сети IoTeX. Некоторые из ключевых особенностей Epik включают в себя:

  • Поддержку виртуальной машины Ethereum (EVM) и смарт-контрактов основанных на языке Solidity
  • Интеграцию IoTeX кошелька
  • Усовершенствования Roll-DPoS и симуляции процесса голосования
  • Реализацию шифрования BLS и DKG (генерация двойного ключа)
  • Обновления с сохранением работы
  • Поддержку более 100 физически распределенных узлов

В дополнение к этим новым функциям, мы значительно улучшили стабильность и производительность нашего блокчейна благодаря проведению нескольких “недель качества”. Например, производительность нашей базы данных улучшилась в ~10 раз, и мы достигли 100+ завершенных транзакций в секунду (FTPS).

Для получения полного списка функций и инкрементального сравнения между тестнет Альфа “Strive” и тестнет Бета “Epik”, пожалуйста, смотрите таблицу ниже:

Epik: реальная и легкая в использовании тестовая сеть

Те, кто следит за многими блокчейн-проектами, знают, что релизы тестовой сети редко предоставляют пользователям, особенно не техническим, возможность напрямую взаимодействовать со средой тестовой сети. Без возможности выполнения реальных транзакций или смарт-контрактов, сторонники проекта ограничиваются просмотром демо и выработкой концептуального понимания, но никак не могут повзаимодействовать с тестовой сетью ощутимым образом — с этим выпуском, мы меняем статус-кво, привнося удобство и легкость использования тестовой сети IoTeX.

IoTeX - это платформа, которая предоставляет инфраструктуру и инструменты для IoT компаний и разработчиков для создания новых революционных IoT DApps. Для достижения этой цели, наши собственные инновации обеспечивают безопасность, масштабируемость, совместимость и конфиденциальность; однако для того, чтобы IoTeX достиг своего полного потенциала, мы должны также обеспечить юзабилити, поскольку она играет решающую роль в создании моста между пользователями, разработчиками и IoTeX. Именно поэтому мы уделили приоритетное внимание внедрению смарт-контрактов и кошелька в Epik, что позволяет нам начать собирать отзывы о функциях юзабилити, которые имеют решающее значение для разработчиков.

Тестовые токены EIOTX, кошелек IoTeX и смарт-контракты

Начиная с сегодняшнего дня, мы приглашаем и призываем всех создать свой собственный кошелек IoTeX, совершить тестовые транзакции (переводы токенов и голосование за делегатов), а также развернуть смарт-контракты в тестовой сети IoTeX. В этом разделе мы представляем тестовый токен EIOTX и обзор функций и пользовательского интерфейса кошелька и функций смарт-контракта.

Тестовые токены EIOTX

Наряду с запуском Epik, мы представляем токены EIOTX, которые являются тестовыми токенами, и могут быть отправлены и получены любым пользователем в тестовой сети IoTeX. Хотя эти токены EIOTX являются только тестовыми, все транзакции в тестнете реальны и будут добавлены в блокчейн и IoTeX Explorer. Обратите внимание, что EIOTX не совпадает с текущим рыночным токеном IOTX или будущем IoTeX токеном в майннете — это новый маркер, который может использоваться только в тестовом режиме. Ниже приведены три типа токенов IoTeX:

  • EIOTX токен (Тестнет): Тестовый токен можно использовать только в тестовой сети Epik. Он не имеет никакой денежной ценности и не будут торговаться на биржах.
  • IOTX токен(При-майннет): Токен ERC-20, который в настоящее время торгуется на биржах, и будет переведен в нативный IoTeX токен после выхода главной сети в первом квартале 2019 года.
  • IoTeX майннет токен (Майннет): Это будет нативный утилити токен для сети IoTeX, который будет торговаться и майнится после выхода главной сети в первом квартале 2019 года.

Кошелек IoTeX

Кошелек IoTeX — это новая встроенная функция бета-версии тестнета, и любой пользователь может создать кошелек и выполнять различные действия в тестовой сети. Как и в других криптовалютных кошельках, публичный и приватный ключи должны быть записаны для повторного использования/разблокировки конкретного кошелька. Как показано на рисунке ниже, предоставляется панель мониторинга кошелька, которая содержит публичный ключ (адрес учетной записи), количество тестовых токенов EIOTX и историю транзакций конкретного кошелька.

Панель мониторинга кошелька

В будущем, кошелек IoTeX будет отвечать за хранение всех нативных токенов главной сети. Кроме того, любые токены, запущенные в сети IoTeX, также будут изначально поддерживаться кошельком IoTeX, подобно тому, как любые токены ERC-20 могут храниться в кошельке Ethereum.

В Epik есть три основные функции, которые пользователи могут исследовать с помощью токена EIOTX и кошелька IoTeX: отправка токенов, голосование за делегатов и развертывание смарт-контрактов, которые мы рассмотрим в следующих подразделах. Для полного пошагового руководства демо этих трех функций, пожалуйста, смотрите демо видео тестовой сети.

Отправка токенов EIOTX и голосование за кандидатов

Возможность децентрализованного обмена данными и ценностями является одним из ключевых преимуществ технологии блокчейн. Чтобы сделать эту концепцию осязаемой, мы разработали пользовательский интерфейс передачи токенов и делегированного голосования, который интегрирован с кошельком IoTeX и блокчейном тестовой сети. После создания кошелька, который будет предварительно заполнен токенами EIOTX, пользователи смогут отправлять токены EIOTX (с дополнительными данными) на другие кошельки и отдавать голоса за делегата через тестовою сеть. Каждая транзакция (передача токенов и голоса) будет записана в блокчейн, а уникальный хэш-идентификатор транзакции будет доступен для просмотра и поиска в IoTeX Explorer после подтверждения. Ниже приведен обзор пользовательского интерфейса и полей для ввода.

Отправить EIOTX токены
Голосование за делегатов

Смарт-контракты

Nick Szabo, предложивший концепцию смарт-контрактов в 1994 году, описывает их как “набор обещаний, определенных в цифровой форме, включая протоколы, в рамках которых стороны выполняют эти обещания.” Другими словами, смарт-контракты определяют бизнес-логику (в коде) для конкретного соглашения и условно применяют условия соглашения на основе определенных входных данных. Если вы новичок в смарт-контрактах, ознакомьтесь с этой ссылкой для более глубокого введения, а также с пошаговым руководством по смарт-контракту в нашем видео Epik.

В бета-версии тестнета мы добавили поддержку смарт-контрактов на основе Solidity и виртуальной машины Ethereum (EVM). EVM — это децентрализованная среда, которая выполняет “байт-код”, который компилируется из языков программирования более высокого уровня, таких как Solidity. В будущем мы планируем поддерживать дополнительные виртуальные машины (например, WASM) и разработать собственную виртуальную машину, которая будет вписываться в сценарии IoT. Смарт-контракты имеют возможность автоматизировать сложные, многосторонние рабочие процессы (например, цепочки поставок) без посредников, при этом прозрачно записывая историю транзакций на блокчейн. Это огромная возможность для IoT — децентрализованных автономных организаций (DAOs), которые являются блокчейн-экосистемами, работают автономно в рамках набора смарт-контрактов и могут быть созданы для организации гетерогенных устройств и создания точных, безлюдных рабочих процессов.

В тестовой сети IoTeX пользователи могут изучить два действия, связанные со смарт-контрактами: “развертывание смарт-контракта” и “взаимодействие со смарт-контрактом”, которые представлены на странице смарт-контракт.

Обзор смарт-контрактов

Чтобы выполнить смарт-контракт в тестовой сети IoTeX, необходимо сначала зарегистрировать контракт в EVM путем развертывания контракта. Как показано ниже, пользователи могут вводить основанный на Solidity код смарт-контракта и генерировать двоичный интерфейс приложения (ABI)/JSON и байтовый код, который должен быть записан для выполнения смарт-контракта позже. Затем смарт-контракт может быть развернут в EVM, и будет создан адрес контракта, который является уникальным для конкретной пары кошелька и смарт-контракта.

Ниже приведен пример кода смарт-контракта на основе Solidity для тестирования. 
https://gist.github.com/puncsky/bf44f8f1508d27d5c7f0704dfeb8d359.js

Развертывание смарт-контракта

После развертывания и регистрации смарт-контракта в EVM пользователи могут взаимодействовать со смарт-контрактом и запускать встроенные функции. Различные смарт-контракты различаются по количеству, назначению и сложности функций. Существует два типа функций:
Write functions: инициирует изменение состояния блокчейна (например, передача стоимости, вычисления, вызовы других контрактов). Требуется газ, так как операции, выполняемые в EVM, одновременно выполняются каждым узлом в сети, а один или несколько пользовательских входов определяют, как будет выполняться контракт.
Read functions: извлекает данные из блокчейна, не вызывая изменения состояния. Не требует газа, так как вычислительная мощность не требуется для чтения данных.Для прочтения функций входные данные не требуются.

Взаимодействие со смарт-контрактами

Epik замечательный — а что дальше?

Следующий релиз кода IoTeX, тестнет Стабильный/майннет Привью, планируется выйти в конце четвертого квартала 2018. Следующий этап разработки IoTeX будет сосредоточен на повышении безопасности и надежности нашего кода. Кроме того, мы сосредоточимся на управлении субцепями, межцепочной коммуникацией, и набором для разработки программного обеспечения (SDK). К концу года, мы также планируем продемонстрировать несколько демо роликов блокчейна IoTeX, работающего на различных легковесных устройствах IoT, похожих на предварительный просмотр в демо для тестнета Альфа.

В дополнение к работе над тестнет Стабильный/майннет Привью, мы также рады сотрудничать с нашими стратегическими партнерами для создания доказательств концепции, запуска пилотных субцепей и разработки новых возможностей для экосистемы IoTeX. Перед публичным запуском нашей основной сети в первом квартале 2019 года, мы также выпустим несколько исследовательских работ по нашим собственным инновациям и поделимся подробностями о требованиях для стакинга, управления и многом другом. Обязательно следите за нашими официальными каналами, чтобы оставаться в курсе! Мы будем продолжать делится с вами нашим прогрессом и достижениях.

Вклад в разработку кода — нам нужна ваша помощь!

Проект IoTeX-core лицензируется в соответствии с Apache License 2.0, и мы очень рады иметь поддержку разработчиков вне основной команды! Мы приветствуем любое содействие, в том числе исправления стилей/ошибок, реализации функций, предложение схем/алгоритмов для улучшения протокола IoTeX. Если вы хотите поучаствовать и помочь с разработкой, пожалуйста, обратитесь к нашему гайд-лайну по содействию за дополнительной информацией. Чтобы сообщить о проблемах, напишите на нашу страницу в Github.

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

Сайт: https://iotex.io
Канал новостей в Телеграмме: https://t.me/iotexchannel
Главный канал в Телеграмме: https://t.me/IoTeXGroup
Русский канал в Телеграмме: https://t.me/IoTeXGroupRU
Твиттер: https://twitter.com/iotex_io
Медиум: https://medium.com/@iotex
Реддит: https://www.reddit.com/r/IoTeX/
Присоединяйтесь к нам: https://iotex.io/careers


О компании IoTeX

IoTeX — авто-масштабируемая блокчейн инфраструктура, ориентированная на безопасность для Интернета Вещей (IoT). Команда IoTeX состоит из кандидатов наук в области криптографии, распределенных систем и машинного обучения, инженеров высшего уровня и опытных разработчиков экосистем. IoTeX разрабатывает несколько собственных инноваций, чтобы продвигать границы блокчейна 3.0, используя архитектуру блокчейн-в-блокчейне для гетерогенных вычислений, молниеносно быстрый консенсусный механизм Roll-DPoS и облегченные техники сохранения конфиденциальности. IoTeX обеспечивает автономную координацию устройств для массового использования путем “подключения физического мира, блок за блоком”.