Первый язык смарт-контрактов с нуля: типы, функции, деньги и безопасный порядок действий. Весь курс собираем один настоящий проект - контракт краудфандинга - и разворачиваем его в Remix.
Правила игры
Что в курсе, кому он подходит и как им пользоваться.
Для кого это написано
Если вы слышали про смарт-контракты, но код на Solidity пока выглядит как набор заклинаний, - курс для вас. Опыт с блокчейном не нужен: что такое транзакция, газ и адрес, разбираем с нуля.
Один проект от начала до конца
Синтаксис не висит в воздухе: каждый модуль добавляет новые возможности в контракт краудфандинга. К шестому модулю у вас на руках полный рабочий контракт - вы прочитаете его строка за строкой и развернёте сами.
Безопасность с первого урока
В смарт-контракте почти любая ошибка - это чьи-то потерянные деньги, а развёрнутый код уже не исправить. Поэтому опасные места разбираем там, где они появляются: переполнение, tx.origin, порядок «проверки - эффекты - взаимодействие».
Всё запускается в браузере
Ничего не нужно устанавливать: весь код проверяем в Remix IDE на учебном блокчейне с тестовым эфиром. Разворачивать и вызывать контракты можно сколько угодно и бесплатно.
Короткими уроками
32 урока по нескольку минут. Один урок - одна мысль, доведённая до конца. Можно читать по дороге и возвращаться через неделю, не перечитывая всё заново.
Курс читается по порядку. Каждый модуль опирается на предыдущий и дописывает тот же самый контракт: сначала поля, потом функции, учёт вкладов и, наконец, деньги.
Если какой-то урок показался сложным, не застревайте: многое встаёт на место в шестом модуле, когда контракт собран целиком.
Что вы будете уметь в конце
Читать и писать простые контракты на Solidity 0.8. Понимать, чем storage отличается от memory, почему чтение через view бесплатно, а payable-функция принимает деньги. Безопасно принимать, выводить и возвращать эфир - и объяснять, почему порядок строк в функции вывода решает всё.
Что нужно знать заранее
Хватит базового знакомства с любым языком программирования: что такое переменная, функция и условие. Блокчейн, Ethereum и всё, что с ними связано, - с нуля, внутри курса.
Как устроен модуль
Каждый модуль открывается блоком «Вы узнаете» и заканчивается выводом, а последний блок подсказывает, что ждёт дальше. Внутри - короткие уроки с кодом и таблицами. Врезки отмечены цветом: серая - уточнение, оранжевая - ловушка или обратная сторона удобства, сиреневая - аналогия, малиновая - вывод модуля. Пунктирная рамка - практическое задание. А реплики курсивом с тире - это вы: так мы отвечаем на вопросы, которые обычно возникают именно в этом месте.
Материал образовательный. Примеры написаны под компилятор Solidity 0.8.x и рассчитаны на учебные сети (Remix VM, тестовые сети). Перед работой с реальными средствами сверяйтесь с актуальной документацией и проводите аудит: ошибка в развёрнутом контракте, как правило, необратима.
Программа
- Модуль 1 - Смарт-контракт, EVM и первая строка кода
- Модуль 2 - Типы данных: чем описать кампанию
- Модуль 3 - Функции, конструктор и модификаторы
- Модуль 4 - Коллекции, события и глобальные переменные
- Модуль 5 - Деньги: приём, вывод и возврат
- Модуль 6 - Собираем краудфандинг целиком
- Модуль 7 - Что дальше: продвинутый Solidity