Блог компании MixBytes
Децентрализованные сети
Программирование
Solidity
6 июня 2018

Воркшопы о разработке смарт-контрактов на Solidity


Предлагаем вашему вниманию видеозаписи серии воркшопов о смарт-контрактах в Ethereum. Наша цель — показать компаниям и обычным людям, как можно пользоваться смарт-контрактами, какие преимущества они могут дать в самых разных областях деятельности. Мы хотим, чтобы они прочно вошли в повседневную жизнь, стали понятны и близки каждому. И мы верим, что в будущем подавляющее большинство бумажных договоров и других взаимодействий в обществе будут заменены смарт-контрактами.


Сегодня наша главная задача в том, чтобы создать сообщество программистов и вдохновить их на использование смарт-контрактов. Именно для этого мы проводим наши регулярные воркшопы.


Список:


  1. Смарт-контракты: введение.
  2. ICO и токен ERC20.
  3. Создаем конструктор смарт-контрактов на платформе Smartz.
  4. Техническая лекция по Solidity.
  5. Смарт-контракты: тонкости разработки.
  6. Компилятор solc, структура файла смарт-контракта, типы и структуры данных в Solidity.
  7. Solidity: ссылочные типы.
  8. Разрабатываем прототип децентрализованной Multi-blockchain биржи.

1. Смарт-контракты: введение


В начале CEO Smartz Юрий Васильчиков рассказал, что представляет собой платформа Smartz, какова её миссия и для кого она создаётся. Затем CTO Smartz Алексей Макеев объяснил суть и принцип действия смарт-контрактов, рассказал, что с ними вообще нужно делать. Алексей популярно объяснил, как устроен блокчейн, что он умеет и чего не умеет, описал устройство блокчейн-сети. Вы узнаете, что такое транзакции в блокчейн-сети, какие бывают виды памяти, что такое газ и для чего он нужен.


Далее Алексей затронул тему языка программирования Solidity, все наши воркшопы по смарт-контрактам на Ethereum будут с его использованием. Кратко описан подход к разработке смарт-контрактов, использование тестовой блокчейн-сети. Затем идёт секция вопросов-ответов, в течение которой популярно разъясняются различные аспекты, относящиеся к блокчейну и смарт-контрактам.


Далее начинается практическая часть воркшопа: подробная процедура создания простейшего смарт-контракта и написание теста для него, с пояснениями и комментариями. И в завершение секция вопросов-ответов по результатам практической части.


https://www.youtube.com/watch?v=drv1HznRdVQ


2. ICO и токен ERC20


Владимир Храмов сначала рассказывает про стандарты токенов, а затем вживую создаёт контракт токена и контракт ICO.


https://www.youtube.com/watch?v=MJyVjIgqJ_8


3. Создаем конструктор смарт-контрактов на платформе Smartz


Алексей Макеев рассказал, как создать свой конструктор смарт-контрактов на платформе https://smartz.io/. Ключевые вопросы:


  • Схема взаимодействия с конструктором с участием браузера и бэкенда.
  • Краткий обзор SDK.
  • JSON-схема.
  • Примеры: параметры конструктора multisig, UI-схема multisig, post_construct.
  • Устройство и функционирование транзакций.
  • Работа с газом.
  • Создание контракта в конструкторе.
  • Хранение данных в блокчейне и смарт-контракте: хранилище, память компьютера, стек.
  • Вычисления и представления чисел в виртуальной машине Solidity.

https://www.youtube.com/watch?v=MHr-Kwgkw2s


4. Техническая лекция по Solidity


Ведущие: Владимир Храмов (ведущий разработчик) и Сергей Прилуцкий (руководитель отдела исследований). Воркшоп состоит из двух частей:


  1. Подробное описание развёртывания контракта токена в тестовой сети.
  2. Работа со смарт-контрактами:
    • как код одного смарт-контракта вызывается в другом смарт-контракте;
    • события в смарт-контрактах, их журналирование и реагирование на них;
    • создание и разрушение смарт-контракта.

https://www.youtube.com/watch?v=xprm_k2CTyQ


5. Смарт-контракты: тонкости разработки


Алексей Макеев и Владимир Храмов рассказывают об использовании компилятора Solidity, о структуре файлов, о существующих в Solidity типах и структурах данных. Всё это описывается на примере последовательного улучшения смарт-контракта «Голосование».


https://www.youtube.com/watch?v=B1NjhSM136I


6. Компилятор solc, структура файла смарт-контракта, типы и структуры данных в Solidity


Алексей Макеев на примере всё того же смарт-контракта «Голосование» рассматривает:


  • Ключевые возможности компилятора solc: маппинг путей, отображение байт-кода на исходный код, генерирование метаданных контракта, оценка максимального использования газа, JSON-интерфейс.
  • Структура файла смарт-контракта Ethereum: storage-переменные, модификаторы функций, события, объявление типов, функции.
  • Типы и структуры данных Solidity (базовые типы): логический тип, целые числа, литералы, адрес, байт-массивы фиксированного размера, перечисления, ссылки на функции, конвертации (явные и неявные).

https://www.youtube.com/watch?v=q1ePcZzIYBw


7. Solidity: ссылочные типы


На примере смарт-контракта «Голосование» рассматриваются ссылочные типы в языке программирования Solidity:


  • массивы: состав, байты, строки;
  • структуры;
  • маппинги;
  • расположение ссылочных типов в памяти: Storage, Memory, Calldata;
  • оператор delete.

https://www.youtube.com/watch?v=qc9pFDNffXs


8. Разрабатываем прототип децентрализованной Multi-blockchain биржи


И завершаем воркшопом, на котором рассматривается разработка прототипа децентрализованной Multi-blockchain биржи на Ethereum:


  • Описываем механизм атомарного обмена между двумя блокчейнами.
  • Создаём смарт-контракт в блокчейне Ethereum для движка децентрализованной биржи.
  • Создаём интерфейс для движка на платформе https://smartz.io.
  • Проверяем работу биржи (для примера обменяем эфир из rinkeby на эфир из kovan).

https://www.youtube.com/watch?v=uIsr-_lvC4I


Все наши видео вы можете найти на youtube-канале Smartz. Подписывайтесь, чтобы не пропустить ближайший воркшоп!


+11
4,1k 38
Комментировать

Рекомендуем