Блокчейн
Трек блокчейн-разработки: как устроен блокчейн, как пишутся смарт-контракты на Solidity — с самой первой строки кода, — затем TypeScript для инструментов и интерфейса, Hardhat, веб и связка с кошельком; вторым этапом — своя сеть на Waves Enterprise. Порядок глав — порядок чемпионата: сначала то, что весит больше всего.
Совет
Практика прямо в IDE. К этому треку есть курс-плагин для WebStorm (формат JetBrains Academy): открой его через Get from VCS → github.com/pgk-champs/ide-course-js и решай задачи по JavaScript с автопроверкой, не выходя из редактора.
База 34 главы
Основной путь трека — по порядку.
01Что такое блокчейн16 секций · 5 проверок · 7 тренажёров02Редактор кода: WebStorm и VS Code15 секций · 6 проверок03Первый контракт: из чего состоит код20 секций · 6 проверок · 1 тренажёр04Типы данных: uint, address, bool, string и деньги19 секций · 6 проверок · 1 тренажёр05Ошибки и проверки: require, revert, assert16 секций · 5 проверок · 1 тренажёр06Условия, циклы и время: как контракт принимает решения16 секций · 5 проверок · 1 тренажёр07Функции: видимость, view, payable и модификаторы14 секций · 5 проверок · 1 тренажёр08Хранение данных: mapping, struct, массивы и события16 секций · 5 проверок · 1 тренажёрэкзамен по блоку09Контракт как объект: конструктор, enum и роли14 секций · 5 проверок · 1 тренажёр10Наследование: is, virtual, override и super16 секций · 5 проверок · 1 тренажёр11Интерфейсы: договор между контрактами14 секций · 5 проверок · 1 тренажёр12Библиотеки, import и хеши: keccak256 и abi.encode13 секций · 5 проверок · 1 тренажёр13Паттерны безопасности: владелец, реентерабельность, выплаты16 секций · 5 проверок · 1 тренажёрэкзамен по блоку14ERC20 с нуля: как устроен токен16 секций · 5 проверок · 1 тренажёр15Готовый ERC20: OpenZeppelin и что он делает за вас14 секций · 4 проверки · 1 тренажёр18TypeScript и JavaScript: в чём разница20 секций · 6 проверок · 1 тренажёр19Как запустить код: Node, tsc и первая программа16 секций · 5 проверок · 1 тренажёр20Значения и переменные: числа, строки, типы20 секций · 4 проверки · 1 тренажёр21Пусто: null, undefined и строгие проверки16 секций · 5 проверок · 1 тренажёр22Условия и циклы: как программа принимает решения20 секций · 5 проверок · 1 тренажёр23Функции: как код перестаёт повторяться22 секции · 5 проверок · 1 тренажёр24Массивы и объекты: как хранят много данных сразу23 секции · 5 проверок · 1 тренажёр38HTML: из чего состоит страница14 секций · 4 проверки · 1 тренажёр39CSS: как страница получает вид14 секций · 4 проверки · 1 тренажёр40Вёрстка: поток, flex и grid15 секций · 4 проверки · 1 тренажёр41DOM и события: страница начинает отвечать15 секций · 4 проверки · 1 тренажёр42React: компоненты вместо ручного DOM13 секций · 4 проверки · 1 тренажёр43Состояние и эффекты: интерфейс с памятью14 секций · 4 проверки · 1 тренажёр57Приватный блокчейн: сеть, куда пускают по пропуску14 секций · 4 проверки · 1 тренажёр63Первая сеть на Waves Enterprise15 секций · 5 проверок · 10 тренажёров64Аккаунт в Waves: сид, ключи, адрес12 секций · 4 проверки · 1 тренажёр65Транзакции Waves: тип, комиссия, подпись12 секций · 4 проверки · 1 тренажёр66Состояние аккаунта: словарь вместо переменных10 секций · 4 проверки · 1 тренажёр67Свои токены: выпуск, перевод, сжигание11 секций · 4 проверки · 1 тренажёр
Углубление 38 глав
Не обязательны для маршрута, но спрашивают на чемпионате.
16ERC4626: доли хранилища вместо баланса15 секций · 5 проверок · 1 тренажёр17Прокси: обновление логики без смены адреса15 секций · 4 проверки · 1 тренажёрэкзамен по блоку25Свои типы: интерфейсы, объединения и обобщения15 секций · 5 проверок · 1 тренажёр26Классы на TypeScript: объекты, поля и инкапсуляция17 секций · 3 проверки · 1 тренажёр27Наследование и интерфейсы в TypeScript17 секций · 3 проверки · 1 тренажёр28Ошибки: throw, try/catch и результат вместо исключения15 секций · 5 проверок · 1 тренажёр29Асинхронность: промисы, async/await и цикл событий23 секции · 5 проверок · 1 тренажёр30Запросы к узлу: fetch, JSON-RPC и таймауты14 секций · 5 проверок · 1 тренажёр31Модули и проект: import, export и структура папок15 секций · 4 проверки · 1 тренажёрэкзамен по блоку32История JavaScript и TypeScript26 секций · 5 проверок · 1 тренажёр33Свой узел: приватная сеть на geth16 секций · 4 проверки · 1 тренажёр34Hardhat: пакет, npx и структура проекта15 секций · 4 проверки · 1 тренажёр35hardhat.config.ts: настройки и сборка контрактов16 секций · 4 проверки · 1 тренажёр36Тесты контрактов: Solidity и TypeScript рядом16 секций · 4 проверки · 1 тренажёр37Развёртывание: скрипты, Ignition и своя сеть14 секций · 4 проверки · 1 тренажёрэкзамен по блоку44Проект на Vite: от исходников к готовым файлам13 секций · 4 проверки · 1 тренажёр45Данные из сети: загрузка, отказ, гонка ответов13 секций · 4 проверки · 1 тренажёр46Формы: ввод, проверка и суммы14 секций · 4 проверки · 1 тренажёр47Навигация: несколько экранов в одном приложении11 секций · 4 проверки · 1 тренажёр48Redux: общее состояние приложения14 секций · 4 проверки · 1 тренажёр49Redux Toolkit: срезы, селекторы и связь с React12 секций · 4 проверки · 1 тренажёр50Асинхронность в Redux: запросы и состояние13 секций · 4 проверки · 1 тренажёрэкзамен по блоку51Кошелёк в браузере: подключение и сеть13 секций · 4 проверки · 1 тренажёр52Подписи: доказать, не отправляя транзакцию13 секций · 4 проверки · 1 тренажёр53dApp целиком: чтение, транзакция, события13 секций · 4 проверки · 1 тренажёрэкзамен по блоку54Уязвимости: как из контрактов уходят деньги12 секций · 4 проверки · 1 тренажёр55Инструменты аудита: что находит машина14 секций · 4 проверки · 1 тренажёр56Чек-лист и отчёт: как сдавать безопасность13 секций · 4 проверки · 1 тренажёрэкзамен по блоку58Устройство сети: организации, политики, блоки12 секций · 4 проверки · 1 тренажёр59Смарт-контракт для Fabric: зачётка на TypeScript12 секций · 4 проверки · 1 тренажёр60Жизненный цикл чейнкода: пять шагов до первого вызова13 секций · 4 проверки · 1 тренажёр61Путь транзакции: почему «успешно» не значит «записано»12 секций · 4 проверки · 1 тренажёр62Fabric и Ethereum: одна задача, два решения11 секций · 4 проверки · 1 тренажёрэкзамен по блоку68Язык RIDE: выражение, которое отвечает да или нет14 секций · 4 проверки · 1 тренажёр69Смарт-аккаунт: скрипт вместо одной подписи11 секций · 4 проверки · 1 тренажёр70dApp на RIDE: зачётка, которая живёт в сети12 секций · 4 проверки · 1 тренажёр71Платежи в dApp: банк вкладов на RIDE11 секций · 4 проверки · 1 тренажёр72Клиент к Waves: приложение поверх сети11 секций · 4 проверки · 1 тренажёрэкзамен по блоку
Комментарии
Обсуждение живёт в GitHub Discussions и грузится с чужого домена — поэтому только по нажатию.