Курс «Язык программирования Solidity — Level Basic»

$
1.00
$
999.00
Что вы изучите
Принцип работы хэш-функций и их внутренние алгоритмы.
Асимметричное и симметричное шифрование.
Протокол Диффи–Хеллмана и электронные цифровые подписи (ЭЦП).
Псевдослучайные и криптографически стойкие генераторы случайных чисел.
Криптографию на эллиптических кривых (ECC) и её применение в Ethereum.
Проблему изменяемости подписей (signature malleability).
Схему разделения секрета Шамира.
Алгоритмы консенсуса и подписи BLS.
Природу случайности в блокчейне и её реализацию через RANDAO.

Программа курса
1. Хэш-функции и их устройство
Реализация собственной хэш-функции, алгоритм Меркла–Дамгора, алгоритм Луна, разбор принципа работы хэшей.
2. Асимметричное шифрование
Протокол Диффи–Хеллмана, электронные цифровые подписи (ЭЦП), реализация RSA «на коленке», роль центров сертификации (УЦ).
3. Генерация случайных чисел
Источники случайности, PRNG, CSPRNG, TRNG, потоковые шифры и их использование в криптографии.
4. Криптография на эллиптических кривых (ECC)
Принципы ECC, алгоритм ECDSA, примеры использования в сети Ethereum.
5. Подписи и их изменяемость
Цифровые подписи, проблема signature malleability и способы защиты от неё.
6. Симметричное шифрование
Алгоритм AES-GCM, функция Argon2, KDF, практическая реализация на Go.
7. Разделение секрета Шамира
Принцип работы схемы Shamir's secret sharing (SSS), практическое применение.
8. Консенсус и подписи BLS
Принцип работы алгоритмов консенсуса в блокчейне, подписи BLS, использование pairings.
9. Случайность в блокчейне
Механизм RANDAO, генерация случайных значений в децентрализованных сетях, уязвимости и защита.

Для кого этот курс
Разработчики, желающие понять основы криптографии для применения в проектах.
Блокчейн-разработчики и исследователи.
Студенты технических специальностей.
Инженеры по безопасности и пентестеры.

Что нужно для старта
Компьютер с доступом в интернет.
Базовые знания математики и программирования.
Желание разобраться в криптографии на практике.

Результат обучения
После прохождения курса вы:
Сможете самостоятельно реализовать основные криптографические алгоритмы.
Разберётесь в работе цифровых подписей и их применении в блокчейне.
Поймёте механизмы генерации случайности и их использование в децентрализованных системах.
Научитесь проектировать безопасные криптографические протоколы.

Курс «Язык программирования Solidity — Level Basic»
Краткое описание
Этот курс предназначен для тех, кто хочет освоить язык программирования Solidity с нуля и научиться разрабатывать смарт-контракты для блокчейна Ethereum. Обучение построено на практике: от написания первых контрактов в Remix IDE до оптимизации кода, защиты от уязвимостей и подготовки к собеседованиям.
Курс охватывает основы языка, тестирование, интеграцию с фронт-эндом, а также ключевые аспекты безопасности и оптимизации. Вы разберётесь в популярных стандартах токенов и создадите рабочие проекты, которые можно использовать в портфолио.

Что вы изучите
Основы синтаксиса Solidity и работу в Remix IDE.
Все типы данных: булевы, числовые, строки, массивы, структуры, перечисления, маппинги.
Создание и тестирование смарт-контрактов с помощью Hardhat, Ethers.js и Chai.
Функции и транзакции, модификаторы, события и условия выполнения.
Построение дерева Меркла, работу с хэшами и кодированием данных.
Оптимизацию кода и снижение затрат на газ.
Механизмы наследования, интерфейсы и библиотеки.
Реализацию стандарта ERC20.
Подключение фронт-энда на Next.js.
Основы безопасности смарт-контрактов и защита от атак.
Подготовку к техническим собеседованиям.

Программа курса
1. Remix IDE и первый контракт
Знакомство с Remix IDE и создание первого смарт-контракта.
2. Типы данных — bool, uint, int
Базовые типы данных и их применение.
3. Типы данных — string, address, mapping
Работа со строками, адресами и хэш-таблицами.
4. Типы данных — array, bytes, enum, struct
Массивы, байтовые последовательности, перечисления и структуры.
5. Тестирование
Hardhat, Ethers.js, Chai: установка, настройка и тестирование смарт-контрактов.
6. Функции и транзакции
Разбор функций pure, view, payable, fallback, обработка транзакций.
7. События, модификаторы и условия
Использование событий, модификаторов, конструкций require и revert с тестами.
8. Дерево Меркла и хэш-функции
Построение дерева Меркла, работа с хэшами, кодированием (encode), циклы.
9. Оптимизация смарт-контрактов
Методы оптимизации кода и снижения затрат на газ.
10. Практика
Реализация функционала смарт-контракта с учётом пройденных тем.
11. Наследование
Конструкторы, ключевые слова super, override, virtual.
12. Интерфейсы и библиотеки
Создание и использование интерфейсов, библиотек, тестирование.
13. ERC20 — взаимозаменяемые токены
Стандарт ERC20, создание и настройка собственного токена.
14–15. Фронт-энд на Next.js
Подключение и интеграция смарт-контракта с фронт-эндом (две части).
16. Безопасность — Reentrancy, DoS
Разбор атак повторного входа и отказа в обслуживании, защита от них.
17. Низкоуровневые вызовы и безопасность
Работа с call, delegatecall, уязвимости и их предотвращение.
18. Решение задач Ethernaut
Практика на реальных задачах из CTF-платформы Ethernaut.
19–20. Подготовка к собеседованию
100 вопросов по Solidity: от простых до сложных, с разбором.

Для кого этот курс
Новички, которые хотят изучить Solidity с нуля.
Разработчики, желающие перейти в Web3 и блокчейн.
Студенты технических специальностей.
Фрилансеры, планирующие разрабатывать смарт-контракты для клиентов.

Что нужно для старта
Компьютер с доступом в интернет.
Базовое понимание программирования (желательно).
Желание изучать Web3-разработку на практике.

Результат обучения
После прохождения курса вы:
Будете уверенно писать и тестировать смарт-контракты.
Освоите весь базовый синтаксис и структуру Solidity.
Сможете создавать и деплоить собственные токены ERC20.
Научитесь оптимизировать код и защищать его от атак.
Получите практические проекты и базу знаний для работы в Web3.