Добро пожаловать на Solidity Bootcamp! Программа курса подходит новичкам в разработке и плавно погружает вас в разработку смарт-контрактов на языке программирования Solidity.
Содержание
- ВступлениеВведение в Solidity Bootcamp, ответы на вопросы.
- Основы SolidityБазовые механики языка, типы данных, проверки require.
- Устройство EVM, Overflow, UnderflowПринципы работы Ethereum Virtual Machine, нетипичное поведение uint8.
- Errors, modifier, events, области хранения данныхРазбираем области хранения данных, ошибки, модификаторы, ивенты, циклы и другие ключевые аспекты. Пишем смарт-контракт для интернет магазина.
- String deep dive, bytes, хеширование keccak256Устройство и нетипичное поведение string, работа с bytes, обход ограничений Solidity, хеширование с помощью keccak256.
- Наследование, асбстракция, интерфейсы, ERC721Разбираем принципы ООП в языке программирования Solidity. Знакомимся с NFT и ERC721.
- ERC1155, Принципы работы OpenSeaРазбираем стандарт ERC1155, минт токенов и роль OpenSea в их жизненном цикле. Пишем свой контракт для продажи ERC115 токенов.
- Побитовые операторыЗнакомимся с побитовыми операторами, разбирем порядок выполнения операторов, создаем контракт для управления ролями.
- Низкоуровневые вызовыРазбираем call, delegate call. Знакомимся с концепцией upgradable контрактов.
- Upgradable контрактыКонцепции upgradability, proxy контракты, fallback функции, Transparent Proxy, UUPS.
- Factory PatternУчимся деплоить контракты из других контрактов, делаем ERC20 airdroper и factory контракт для него.
- Merkle TreeИзучаем принципы работы древа Меркла и библиотеки Merkle Proof от OpenZeppelin, строим Claimer контракт и NFT коллекцию с вайтлистом.
- EVM, memoryFAQ Сессия + лекция по принципам работы EVM и устройство памяти.
- Minimal Proxy, ClonesРазрабатываем Utility сервис используя Minimal Proxy (EIP1167) и библиотеку Clones от OpenZeppelin
- Linear VestingРазрабатываем новые Utility контракты для дистрибуции токенов, пишем Linear Vesting
- Изучаем PaymentSplitter, VestingWalletСовершенствуем Linear Vesting, знакомимся с новыми контрактами от OpenZeppelin для дистрибуции токенов.
- Оптимизация, Semgrep Analysis ToolПроводим рефакторинг кодовой базы проекта, применяем современные инструменты от foundry, semgrep. Оптимизируем затраты на gas.
- Рефакторинг, комментарии NatSpec, документацияПродолжаем рефакторинг, вводим проверки через интерфейс, обратная совместимость, NatSpec-комментарии, документация через Foundry.
- Выполняем домашнее задание, покрываем репо комментариями, .gitПродолжаем рефакторинг, создаем комментарии в стиле NatSpec для остальных смарт-контрактов. Контроль версий с помощью git.
- Готов релиз LinearVesting контрактаПрогрессивная оптимизация Vesting, внутреннии библиотеки и интерейсы для экономии gas.
- Релиз Smart DeployerСоздаём документацию, делаем пулл реквест и merge в ветку main, фиксим конфликты, разбираем интересные вопросы. Финал проекта.
- Настройка окружения, multisig кошелькиНастраиваем окружение для локальной разработки на Solidity, реализуем multisig контракт с использованием foundry.
- Разбираемся с FoundryРазбираем то как устроен Foundry, знакомимся с cast, envil, chisel. Пишем первые тесты
- Тестируем смарт контрактEnd-to-end тестирование смарт-контракта с использованием Foundry. Применяем best practice подходы.
- Пулы ликвидности, EIP712Реализуем простой пример децентрализированного обменника с использованием пулов ликвидности, upgradable контрактов, EIP712.
- Релизим DEXПринципы работы, тестирования функционала, релиз проекта.
- Уязвимости смарт-контрактовРазбираем базовые уязвимости смарт-контрактов, способы защиты от них.
- Уязвимости DoS, Gas Griefing, private variables, tx.originПродолжаем разбираться с уязвимостями, говорим об аудите
- Продвинутые уязвимости. Работа с оракулами.Пишем простую игру, разбираемся с оракулами и используем их на практике.
- ERC1155Auth, верификация, деплой и foundry scriptsАутентификация на базе ERC1155 токена, контроль доступов, деплой скриты, верификация.
- FAQ СЕССИЯ | Подводим итоги 6 модуляОракулы, настройки среды, уязвимости смарт-контрактов и реентранси простыми словами.
- Оптимизируем разработку. ИИ инструменты, CursorГоворим о рациональном использовании ИИ инструментов в жизни разработчика для ускорения выполнения рабочих задач.
- Cursor на практикеПрименяем курсор на практике, создаем проект, знакомимся с лучшими техниками вайбкодинга.
- Thirdweb, фронт на ScaffoldETH2Разбираем возможности фреймворка и встроенных инструментов от Thirdweb. Знакомимся с ScaffoldETH2, пишем смарт-контракт для игры King Of The Hill.
- Hardhat 3 - деплой, вериф, скриптыРазбираем возможности, структуру проектов. Деплоим, верифицируем контракт, пишем скрипты. Работаем с keystore.
- Создаем CVПрактические рекомендации по созданию качественного CV для поиска работы в web3.
- Настройка GitHub, LinkedInНастраиваем GitHub и правильно упаковываем профили в социальных сетях.
- Разбор вопросов на interview #1Разбираем популярные вопросы на собеседование уровня Trainee\Junior Solidity Developer
- Разбор вопросов на interview #2Разбираем более сложные вопросы на собеседование уровня Trainee\Junior Solidity Developer
- Следующий урок появится в скором времени
В процессе обучения вы освоите разработку и тестирование смарт контрактов, разберетесь как интегрировать их в dApps(децентрализованные приложения), познакомитесь с актуальными фрейморками, утилитами и AI инструментами, которые помогают оптимизировать процессы разработки.
За время курса мы максимально погрузим вас в коммерческую разработку на языке программирование Solidity с использованием актуальных технологий и лучших практик! Реализуем 3 пет-проекта, которые отлично дополнят ваш GitHub.
Помимо хард скиллов мы отдельно выносим модуль в котором готовим вас к собеседованию, помогаем упаковать GitHub, LinkedIn, CV. По итогу Solidity Bootcamp вы освоите все необходимые навыки, которые ожидают от разработчиков на Junior Solidity Developer / Smart Contract Developer позициях.