
Предлагаем вашему вниманию видеозаписи серии воркшопов о смарт-контрактах в 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. Подписывайтесь, чтобы не пропустить ближайший воркшоп!