Воркшопы о разработке смарт-контрактов на Solidity
Предлагаем вашему вниманию видеозаписи серии воркшопов о смарт-контрактах в Ethereum. Наша цель — показать компаниям и обычным людям, как можно пользоваться смарт-контрактами, какие преимущества они могут дать в самых разных областях деятельности. Мы хотим, чтобы они прочно вошли в повседневную жизнь, стали понятны и близки каждому. И мы верим, что в будущем подавляющее большинство бумажных договоров и других взаимодействий в обществе будут заменены смарт-контрактами.
Сегодня наша главная задача в том, чтобы создать сообщество программистов и вдохновить их на использование смарт-контрактов. Именно для этого мы проводим наши регулярные воркшопы.
Список:
- Смарт-контракты: введение.
- ICO и токен ERC20.
- Создаем конструктор смарт-контрактов на платформе Smartz.
- Техническая лекция по Solidity.
- Смарт-контракты: тонкости разработки.
- Компилятор solc, структура файла смарт-контракта, типы и структуры данных в Solidity.
- Solidity: ссылочные типы.
- Разрабатываем прототип децентрализованной 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
Ведущие: Владимир Храмов (ведущий разработчик) и Сергей Прилуцкий (руководитель отдела исследований). Воркшоп состоит из двух частей:
- Подробное описание развёртывания контракта токена в тестовой сети.
- Работа со смарт-контрактами:
- как код одного смарт-контракта вызывается в другом смарт-контракте;
- события в смарт-контрактах, их журналирование и реагирование на них;
- создание и разрушение смарт-контракта.
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. Подписывайтесь, чтобы не пропустить ближайший воркшоп!