Занятие 1 – Криптография и блокчейн
-
Введение
-
Простое шифрование
-
Асимметричное шифрование
-
Цифровая подпись
-
Хеширование
-
Основы технологии блокчейн
-
Преимущества блокчейна
Занятие 2 – Криптовалюты
-
Основные понятия (глоссарий)
-
Обзор криптовалют
-
Атаки на криптовалюты
-
"Мифы" о криптовалютах
-
Смарт-контракты
Занятие 3 – Окружение для разработки на Solidity
-
Geth
-
Mist
-
Что такое Solidity
-
Среды разработки для Solidity
-
Как компилировать код на Solidity
-
Тестовые сети Ethereum
Занятие 4 – Введение в Solidity
-
Базовые типы Solidity и операции над ними
-
Единицы изменения
-
Block
-
Message
-
Обработка ошибок
Занятие 5 – Токены
-
Что такое токен
-
Виды токенов
-
Стандарт ERC-20
Занятие 6 – ICO
-
Что такое ICO
-
Этапы проведения ICO
-
Архитектура контрактов ICO
-
Bad & Best Practices
Занятие 7 – Разбор и аудит кода наиболее популярных смарт-контрактов с открытым исходным кодом
-
OpenZeppelin
-
DSToken
-
TokenERC20
-
Crowdsale
Занятие 8 – Углублённый Solidity
-
Константы
-
State
-
Оптимизация смарт-контрактов
-
Типы функций
-
Абстрактные контракты
-
Интерфейсы
-
Библиотеки
-
Ораклайзеры
Занятие 9 – DApp (часть 1)
-
Архитектура DApp
-
Библиотека Web3
-
ABI
-
Основы написания DApp
Занятие 10 – DApp (часть 2)
-
Реализация полноценного DApp
-
Best Practices
-
Публикация DApp
Требования: необходимы знания основ программирования.
Solidity - это высокоуровневый объектно-ориентированный язык программирования для разработки смарт-контрактов на платформе Ethereum. Его синтаксис похож на JavaScript, он появился только в 2014 году для решения узкоспециализированных блокчейн-задач и на данный момент его разработка продолжается.
В блокчейн-отрасли используются общеизвестные языки - С, С++, Python, Java, Ruby и так далее. Однако технология смарт-контрактов требовала нового подхода и инструментария. Solidity стал одним из четырех языков программирования (наряду с LLL, Mutan и Serpent), которые были специально спроектированы для трансляции в байт-код Ethereum. Он получил наибольшее распространение и стал лидером в создании программного обеспечения для умных контрактов, на которых и базируются главные принципы блокчейн-технологий.
В общем, Solidity - лидер блокчейн-программирования. При этом он оперирует точно такими же понятиями, как и все остальные, более привычные языки: функции, классы, переменные, арифметические операции. При его изучении большим преимуществом будет знание другого языка программирования. Учебных ресурсов, книг, пособий существует пока очень мало. Официальная документация переведена на русский лишь частично, да и сама по себе не может служить инструкцией к освоению Solidity (ее лучше использовать как справочную информацию).
Для того, что бы стать полноценным Solidity-разработчиком, непременно нужен ментор, наставник с серьезным практическим опытом и знаниями блокчейн-технологий. Наш курс нацелен именно на это - обучающиеся знакомятся с языком под руководством специалиста, который решал самые разные по сложности и структуре задачи.
Перспективы профессии очевидны: отрасль только начинает набирать обороты. Защита персональных данных и децентрализация - ее основные идеи. Их начинают реализовывать во все большем количестве технологичных продуктов. Если раньше этим были увлечены только криптопанки, то сегодня основы блокчейна внедряют крупные финансовые институты, государственные службы и IT-гиганты.
Став специалистом по Solidity, вы автоматически забронируете себе место в стремительно развивающейся нише. Стек блокчейн-технологий увеличивается, растут зарплаты, постоянно расширяется список вакансий. Здесь еще можно стать одним из тех, кому достанутся лавры первооткрывателей. По-настоящему серьезных экспертов в отрасли не хватает, конкуренцию можно назвать низкой.
Все это - отличные причины для того, чтобы пройти курс по разработке на Solidity.