$ sudo teach IT
Базовый курс
Solidity lite
просто о сложном

Первый язык смарт-контрактов с нуля: типы, функции, деньги и безопасный порядок действий. Весь курс собираем один настоящий проект - контракт краудфандинга - и разворачиваем его в Remix.

7модулей32урока1проект
Модуль 0 · Как устроен курс

Правила игры

Что в курсе, кому он подходит и как им пользоваться.

Для кого это написано

Если вы слышали про смарт-контракты, но код на Solidity пока выглядит как набор заклинаний, - курс для вас. Опыт с блокчейном не нужен: что такое транзакция, газ и адрес, разбираем с нуля.

Один проект от начала до конца

Синтаксис не висит в воздухе: каждый модуль добавляет новые возможности в контракт краудфандинга. К шестому модулю у вас на руках полный рабочий контракт - вы прочитаете его строка за строкой и развернёте сами.

Безопасность с первого урока

В смарт-контракте почти любая ошибка - это чьи-то потерянные деньги, а развёрнутый код уже не исправить. Поэтому опасные места разбираем там, где они появляются: переполнение, tx.origin, порядок «проверки - эффекты - взаимодействие».

Всё запускается в браузере

Ничего не нужно устанавливать: весь код проверяем в Remix IDE на учебном блокчейне с тестовым эфиром. Разворачивать и вызывать контракты можно сколько угодно и бесплатно.

Короткими уроками

32 урока по нескольку минут. Один урок - одна мысль, доведённая до конца. Можно читать по дороге и возвращаться через неделю, не перечитывая всё заново.

Курс читается по порядку. Каждый модуль опирается на предыдущий и дописывает тот же самый контракт: сначала поля, потом функции, учёт вкладов и, наконец, деньги.

Если какой-то урок показался сложным, не застревайте: многое встаёт на место в шестом модуле, когда контракт собран целиком.

Что вы будете уметь в конце

Читать и писать простые контракты на Solidity 0.8. Понимать, чем storage отличается от memory, почему чтение через view бесплатно, а payable-функция принимает деньги. Безопасно принимать, выводить и возвращать эфир - и объяснять, почему порядок строк в функции вывода решает всё.

Что нужно знать заранее

Хватит базового знакомства с любым языком программирования: что такое переменная, функция и условие. Блокчейн, Ethereum и всё, что с ними связано, - с нуля, внутри курса.

Как устроен модуль

Каждый модуль открывается блоком «Вы узнаете» и заканчивается выводом, а последний блок подсказывает, что ждёт дальше. Внутри - короткие уроки с кодом и таблицами. Врезки отмечены цветом: серая - уточнение, оранжевая - ловушка или обратная сторона удобства, сиреневая - аналогия, малиновая - вывод модуля. Пунктирная рамка - практическое задание. А реплики курсивом с тире - это вы: так мы отвечаем на вопросы, которые обычно возникают именно в этом месте.

Важно

Материал образовательный. Примеры написаны под компилятор Solidity 0.8.x и рассчитаны на учебные сети (Remix VM, тестовые сети). Перед работой с реальными средствами сверяйтесь с актуальной документацией и проводите аудит: ошибка в развёрнутом контракте, как правило, необратима.

Программа

  1. Модуль 1 - Смарт-контракт, EVM и первая строка кода
  2. Модуль 2 - Типы данных: чем описать кампанию
  3. Модуль 3 - Функции, конструктор и модификаторы
  4. Модуль 4 - Коллекции, события и глобальные переменные
  5. Модуль 5 - Деньги: приём, вывод и возврат
  6. Модуль 6 - Собираем краудфандинг целиком
  7. Модуль 7 - Что дальше: продвинутый Solidity