Конференция разработчиков Эфириума DevCon-3, день третий
Третий день конференции Devcon-3 начался обзором сооснователя Oaken Innovations Хадсона Джеймсона (Hudson Jameson) «Введение в язык программирования Solidity – 2017 год», с общим описанием разнообразных IDE и инструментов для разработки смарт-контрактов. Всего существуют 6 специализированных языков для смарт-контрактов, однако Serpent и Mutan уже не используются. Оставшиеся четыре:
-
LLL, что может расшифровываться как «низкоуровневый язык» (Low Level Language), или «язык, похожий на lisp», (Lisp-Like Language)
-
Viper – язык, пришедший на замену Serpent, его разрабатывает Виталик Бутерин.
-
Bamboo – функциональный язык смарт-контрактов, явно отображающий изменения состояния и не допускающий ситуаций, подобных «повторному входу», ставшему причиной взлома TheDAO
-
Наконец, тема обзора Solidity – высокоуровневый язык, схожий с JavaScript, в котором контракты аналогичны классам.
Джеймсон подробно провел слушателей по всем этапам разработки смарт-контракта от начала до компиляции в EVM, используя инструментарий Remix.
Он выделил основную проблему так:
Написать контракт легко. Труднее убедиться в его безопасности.
Действительно, аудит смарт-контрактов занимает гораздо больше времени и стоит дороже, чем их написание – никто не забыл TheDAO.
Говоря о проблемах безопасности, Джеймсон вкратце остановился на ZoKrates – языке, который компилирует в Эфириум доказательства с нулевым разглашением из Z-Cash.
Тему Solidity продолжил разработчик Фонда Эфириума – доктор Кристиан Райтвисснер (Christian Reitwiessner) с презентацией Flexibility in Solidity (Игра слов: Flexibility – гибкость, а Solidity может быть буквально переведено как «твердость»). По его словам, первоначальной целью разработчиков было создание высокоуровневого языка с максимально быстрым выполнением команд.
Эта цель достигнута и теперь пришло время сделать его более безопасным. Он рассказал о работе по реализации динамических данных (слайды с презентации) на Solidity: проект будет закончен к концу года. Кроме того, он обрадовал собравшихся сообщением, что готов перевод документации по Solidity на испанский язык, а в будущем появятся русский, китайский и немецкий переводы.
Mist
Презентация Эвертона Фраги (Everton Fraga) и Виктора Майя (Victor Maia) из Фонда Эфириума называлась «Mist: децентрализованная и безопасная инфраструктура». Разработчики похвастались рекордом: приложения Mist и Ethereum Wallet были скачаны 2.6 миллиона раз. Однако, наибольший интерес вызвал анонс нового браузера Эфириума Moon.
В то время как Mist – отдельное приложение, работающее совместно с клиентом geth и требующее локальной копии всего блокчейна на компьютере, Moon размещается непосредственно в браузере и требует лишь небольшого объема данных.
Еще одно существенное отличие: Mist работает на JavaScript, а Moon использует специально написанный для него язык Moon-lang
с собственным компилятором Moon, конвертирующим любой код написанный на moon-lang в JavaScript.
Пользователь Moon может скачать Dapp из библиотек, размещенных на IPFS, и создать его копию для последующего редактирования, получая таким образом форк Dapp, не затрагивающий исходный код.
DappHub
Энди Майлениус (Andy Milenius) из MakerDAO представил DappHub
– самоорганизующуюся сеть инструментов логики, исследований, дизайна и разработок, в основу которой заложен философский принцип UNIX:
Когда вы создаете инструмент, сделайте так, чтобы он выполнял только одну задачу, но выполнял ее хорошо.
Конечная цель – избавить Dapp от избыточных и бесполезных токенов.
Чтобы оптимизировать Dapp, достаточно скопировать его код, и сдалать его форк, уже без лишних токенов.
DappHub содержит стандартную библиотеку для разработчиков Dapp, которая переносит ту же самую философию на все смарт-контракты: набор небольших и проверенных инструментов.
MetaMask: препарирование лисы
Презентация MetaMask стала настоящим развлечением для собравшихся (как в информативном, так и в развлекательном смысле). Кошелек и браузер Эфириума, выполненный в виде расширения браузера Chrome стал, де-факто, стандартным инструментом проведения ICO.
Команда Metamask похвасталась статистикой: 200 000 скачиваний; в пиковые моменты Metamask обеспечивал более 10% всех транзакций Эфириума. Команда разработчиков увеличилась с 4 до 10 человек, браузер стал поддерживать аппаратные кошельки.
После того, как CEO Арон Дэвис закончил со вступлением, техническую сторону представил разработчик в костюме тиранозавра, что вызвало ажиотаж в зале.
Фрэнки Пангиллиган (Frankie Pangilligan) представила проект Metamascara, который может понравиться тем, кто не любит Chrome: вместо того, чтобы устанавливать плагин, приложение будет выполняться в JS и перенаправлять пользователя на https://wallet.metamask.io. Кроме того, если раньше для интеграции веб-страницы с Metamask, требовалось включить в код несколько объемных JavaScript блоков, то c Metamascara для этого требуется выполнение всего 4 строк кода.
Оракулы данных – конкуренция
Смарт-контракты, как и блокчейн, работают изолированно от «реального мира» и не могут самостоятельно получать внешние данные. Поэтому рынок надежных внешних данных привлекает все новых игроков – новые продукты представили как блокчейн-стартапы Oraclize и ChainLink, так и гиганты – Microsoft и агентство Thomson Reuter
Thomson Reuter представил смарт-контракты оракулов для Эфириума и Corda. Разработчики Dapp будут получать их бесплатно, но только после регистрации.
CEO ChainLink Сергей Назаров считает централизованные оракулы ненадежными. Платформа ChainLink – пакет связующего программного обеспечения, использующий аппаратную защиту данных Intel SGX и ленту данных TownCrier для построения сети децентрализованных оракулов и безопасного ввода информации на блокчейн Эфириума.
ChainLink может объединять смарт-контракты из разных сетей (основного Эфириума и частных сетей) так, что они будут взаимодействовать между собой.
Здесь вы можете прочитать отчеты о первом и втором дне devCon-3.