Чему вы научитесь
- Писать контракты на Solidity 0.8 с учётом модели исполнения EVM, стоимости операций и границ доверия
- Тестировать контракты на четырёх уровнях: unit, интеграция, fuzz на forge-std и инвариантные stateful-сценарии
- Проектировать контроль доступа на ролях и разделять протокол на контракты с минимальными привилегиями
- Работать с токенами ERC-20, ERC-721, ERC-2981 и их расширениями из OpenZeppelin 5
- Использовать подписи EIP-712 и Merkle-доказательства для авторизации вне сети
- Собирать клиентский слой на viem и TypeScript: типизированные вызовы, события, индексатор, CLI
- Разворачивать протокол через Hardhat Ignition с параметрами по сетям и верифицировать исходники
- Измерять и снижать расход газа: упаковка storage, bitmap, транзиентное хранилище, настройки оптимизатора
- Делать контракты обновляемыми через UUPS-прокси, не ломая раскладку хранилища
- Передавать управление протоколом в DAO через Governor и TimelockController
- Проводить базовый аудит: модель угроз, чеклист ревью, поиск классических уязвимостей, отчёт о находках
О курсе
Для кого этот курс
Начальные требования
Уверенное программирование на любом языке и понимание асинхронного кода. Базовый TypeScript или JavaScript: типы, промисы, модули. Опыт работы с командной строкой, npm и git.
Знание блокчейна не требуется: блоки, аккаунты, транзакции, газ и подписи разбираются в первой главе.
Для практики нужен компьютер с Node.js 24 или новее и любым редактором кода. Все запуски идут в локальной симулированной сети — тестовые монеты и кошелёк не обязательны. Главы про деплой и верификацию можно пройти в тестовой сети Sepolia или Polygon Amoy, для этого понадобится бесплатный доступ к RPC и тестовые монеты из крана.
Преподаватели курса
Формат курса
Курс текстовый, без видео. Каждый урок начинается с инженерной ситуации, разбирает решение по исходному коду и заканчивается практическим заданием и вопросами для самопроверки. Главы с третьей по пятнадцатую завершаются тестовыми задачами с объяснением после неверного ответа.
Сквозной проект доступен целиком и запускается локально: сборка, тесты, покрытие, статистика газа и демонстрационные сценарии, без тестовой сети и без затрат.
Проверяемых заданий на код в курсе нет. Практика построена вокруг локального проекта, который вы собираете и расширяете у себя. Дедлайнов нет, порядок глав последовательный.
Что вы получите
- 154 текстовых урока в 18 главах с разбором исходного кода
- Тестовые задачи к главам с третьей по пятнадцатую, с объяснением после неверного ответа
- Полный код сквозного проекта Passage: контракты протокола, учебные контракты с намеренными уязвимостями и тесты на Solidity и TypeScript
- Модули Hardhat Ignition, клиентский слой на viem, индексатор событий и CLI
- Восемь рабочих документов протокола: карта ролей, модель угроз, чеклисты аудита, деплоя и обновления, отчёт внутреннего аудита, раскладка storage, передача управления DAO
- Практические задания и вопросы для самопроверки в каждом уроке
- Доступ к материалам курса без ограничения по времени