Курс sol01. Создание смарт-контрактов Solidity для Ethereum
Этот курс поможет вам быстро приступить к созданию смарт-контрактов Solidity и
распределенных приложений для блокчейна Ethereum
О чем этот курс?
Наш курс поможет быстро приступить к созданию смарт-контрактов Solidity и
распределенных приложений для блокчейна Ethereum.
Курс состоит из 15 уроков. Вы узнаете от том, как устроен и работает блокчейн Ethereum, сможете создавать собственные локальные узлы Ethereum на базе Geth и пользоваться Infura и Alchemy, публиковать смарт-контракты и вызывать их функции, обмениваться данными между реальным миром и смарт-контрактами с помощью оракулов, работать с тестовой сетью Rinkeby.
Вы научитесь использовать Remix Solidity, Truffle и Hardhat, создадите
собственные токены ERC-20 и NFT, установите узел распределенной
межпланетной файловой системы IPFS и опубликуете в этой системе свои
файлы.
Вы создадите одностраничные Web-приложения, интегрированные с MetaMask,
скрипты для Node.js и API на базе Express и Node.js для вызова функций
смарт-контрактов.
Вы научитесь оптимизировать потребление газа смарт-контрактами Solidity.
Курс адресован всем, кто интересуется передовыми технологиями и хочет быстро получить знания, позволяющие заниматься интересной и перспективной работой.
Кого я жду на курсе?
Я ожидаю на своем курсе всех, кто хочет научиться создавать
распределенные приложения для блокчейна Ethereum на языке Solidity, а
также собственные узлы Ethereum, приложения бэк-офиса и сайты на
базе MetaMask.
Этот курс для тех, кто хочет инвестировать в свое обучение, чтобы работать и зарабатывать из любой точки мира.
Для работы с этим курсом желательно:
- уметь создавать программы на JavaScript для фронт-офиса и Node.js;
- владеть основами языка командной оболочки Linux и уметь работать с командной строкой Linux;
- знать основы HTML и CSS
Вам также потребуется компьютер или ноутбук со свободным дисковым
пространством не менее 120 Гбайт, стабильное подключение к сети Интернет и, конечно, огромное желание изучать новые технологии!
Приступить к обучению
Стоимость курса
14900 ₽ 9 900 ₽
Что ждет вас на курсе?
15 видео-уроков и текстовые версии всех уроков
Теория и практические занятия
Все коды программ доступны на GitHub
Урок 1
Урок 1
Блокчейн Ethereum
Вы познакомитесь с назначением и основными областями применения технологий блокчейна Ethereum и смарт-контрактов Solidity, увидите, что эта технология дает программистам много возможностей получить престижную работу.
Урок 2
Урок 2
Как устроен блокчейн
На этом уроке вы узнаете, как устроен блокчейн и для чего он используется, познакомитесь с основными понятиями — блоки, хеш-функции, распределенная база данных, транзакции, публичные и приватные ключи, публичные и приватные блокчейны, децентрализованные приложения, смарт-контракты, язык программирования Solidity, майнинг. Вы познакомитесь с особенностями децентрализованных приложений Ethereum.
Урок 3
Урок 3
Подготовка рабочей среды
На третьем уроке вы подготовите рабочую среду, необходимую для изучения Ethereum и смарт-контрактов Solidity. Вы установите на сервер с ОС Ubuntu программы Geth, Node.js, Truffle, Ganache-cli, пакет Web3, а также пакетный компилятор solc.
Далее вы создадите приватный блокчейн, состоящий из одного узла, выполните его инициализацию и убедитесь, что в вашем блокчейне работает майнинг. Вы научитесь запускать свой узел Ethereum на базе Geth и Ganache, а также подключаться к ним в консоли JavaScript.
Вы научитесь выдавать команды Geth в консоли JavaScript и будете готовы для первых экспериментов с вашим приватным блокчейном.
Урок 4
Урок 4
Учетные записи и перевод средств между аккаунтами
На четвертом уроке вы научитесь управлять аккаунтами, а также переводить средства с одного аккаунта на другой. Попутно вы изучите криптовалютные единицы, которые применяются в сети Ethereum.
Вы узнаете, что созданные транзакции сначала попадают в состояние ожидания и находятся в нем до тех пор, пока в блокчейн не будет добавлен новый блок. Вы сможете проверить состояние транзакции, а когда она будет выполнена — получить ее квитанцию.
Из квитанции вы сможете определить, сколько газа было потрачено на выполнение транзакции. А если транзакция была связана с публикацией контракта, то получите еще и адрес опубликованного контракта.
Урок 5
Урок 5
Публикация первого контракта
На этом уроке вы узнаете о смарт-контрактах в сети Ethereum и о том, как они выполняются виртуальной машиной Ethereum. Мы расскажем, как создать смарт-контракт на языке Solidity и как его опубликовать. Также вы узнаете о так называемом бинарном интерфейсе приложения Application Binary Interface (ABI).
Вы будете работать со смарт-контрактами в интегрированной среде разработки Remix Solidity, доступной через браузер, а также как автономное приложение. Вы научились компилировать и публиковать контракт, а также вызывать его функции, передавая параметры.
Урок 6
Урок 6
Смарт-контракты и Node.js
На шестом уроке вы сделаете первые шаги к практическому использованию смарт-контрактов Solidity, вызывая их из Node.js. Вы напишете скрипт JavaScript для публикации смарт-контракта и вызова его функций, узнаете, можно ли обновлять уже опубликованные смарт-контракты.
Вы создадите скрипт, способный переводить средства между обычными аккаунтами и зачислять их на обычные аккаунты и аккаунты смарт-контрактов.
Кроме того, вы научитесь создавать функции смарт-контракта, позволяющие определить текущий баланс на счету смарт-контракта, а также вызывать такие функции из скрипта JavaScript, работающего под управлением Node.js.
Урок 7
Урок 7
Введение в Truffle
На седьмом уроке вы научитесь устанавливать и использовать интегрированную среду разработки Truffle —удобный инструмент программиста смарт-контрактов Solidity, пригодную для реальных проектов Ethereum.
С помощью Truffle вы будете создавать, публиковать и тестировать смарт-контракты, а также вызывать функции смарт-контрактов.
Урок 8
Урок 8
Миграция контрактов в приватную сеть Geth и в сеть Rinkeby
На восьмом уроке вы научитесь работать с тестовой сетью Rinkeby, полезной при отладке смарт-контрактов перед их публикацией в основной сети Ethereum.
При этом для создания собственного узла Rinkeby вы будете использовать Geth, а для разработки смарт-контрактов Solidity — Truffle.
Вы пополните свой аккаунт Rinkeby средствами, опубликуете в Rinkeby свой смарт-контракт, а также научитесь переводить средства на другие аккаунты Rinkeby. Вы также запустите скрипты Node.js, вызывающие функции смарт-контракта в сети Rinkeby.
Вы также познакомитесь с сайтами, где можно посмотреть текущее состояние, содержимое блоков и транзакций для тестовой сети Rinkeby и основной сети Ethereum.
Урок 9
Урок 9
Осваиваем Hardhat, Infura и Alchemy
На девятом уроке вы научитесь пользоваться профессиональным инструментом Hardhat, с помощью которого можно компилировать, тестировать и публиковать смарт-контракты.
Вы будете публиковать смарт-контракты в тестовой сети Rinkeby с помощью локального узла Geth, а также узлов, предоставляемых сервисами Infura и Alchemy.
Вы установите расширение браузера MetaMask, и научитесь импортировать в него аккаунты узла Geth, а также экспортировать приватные ключи аккаунтов.
Вы найдете на сайте rinkeby.io адреса смарт-контрактов, опубликованных с помощью Hardhat в сети Rinkeby через локальный узел Geth, через Infura и Alchemy.
Урок 10
Урок 10
Введение в Solidity
На десятом уроке вы изучите структуру смарт-контракта и основные типы данных Solidity, такие как беззнаковые целые числа и числа со знаком, адреса, строки, массивы, перечисления, структуры и словари. Вы также напишете смарт-контракты, использующие эти типы данных.
Понимание структуры смарт-контракта и хорошее владение типами данных необходимо для успешного составления смарт-контрактов.
Урок 11
Урок 11
Контракты ERC-20 и токены
На уроке 11 вы научитесь выпускать собственные токены, соответствующие стандарту ERC-20. Вы познакомитесь с этим стандартом и создадите свой смарт-контракт, выпускающий токены Doctor Coin.
Далее вы напишете тесты для этого смарт-контракта и запустите их под управлением Hardhat.
Вы также сделаете сервис на базе Node.js и Express, с помощью которого можно вызывать функции смарт-контракта, а также напишете тестовое приложение Node.js для вызова этих функций.
Урок 12
Урок 12
Оракулы
Смарт-контракты Solidity не могут напрямую обращаться к ресурсам сервера, на котором они работают, и к программным интерфейсам различных сервисов через АПИ. На уроке 12 вы узнаете, каким способом данные из реального мира могут попадать в память смарт-контрактов. Вы создадите собственный оракул, способный получать и сохранять в смарт-контракте текущий курс обмена USD на рубли с сайта ЦБ РФ.
Вы также научитесь инициировать и обрабатывать события в смарт-контрактах Solidity.
Урок 13
Урок 13
Интеграция DAPP c MetaMask
На уроке 13 вы научитесь интегрировать одностраничные сайты, сделанные при помощи HTML и JavaScript, с расширением браузера MetaMask.
В результате вы создадите сайт, способный вызывать функции смарт-контракта ERC-20, о котором мы рассказывали на 11 уроке. При этом для работы такого сайта не нужно будет создавать свой узел Ethereum.
С помощью этого сайта вы переведете средства Ether и токены Doctor Coin с одного аккаунта на другой.
Урок 14
Урок 14
Децентрализованное хранилище данных IPFS
На уроке 14 вы познакомитесь с межпланетной файловой системой IPFS и установите собственный узел IPFS.
Далее вы научитесь записывать файлы в IPFS и читать их из этой сети с помощью команд, а также скрипта JavaScript для Node.js. Это потребуется вам на следующем уроке, когда вы будете создавать токены NFT.
Урок 15
Урок 15
Осваиваем NFT
На уроке 15 вы узнаете о том, что бывают взаимозаменяемые и невзаимозаменяемые токены, такие как NFT, для чего могут использоваться токены NFT, познакомитесь со стандартом ERC-721, который используется для смарт-контрактов, работающих с токенами NFT.
Вы создадите такой смарт-контракт DrNFT.sol с применением библиотеки OpenZeppelin в Hardhat, протестируете его и опубликуете в тестовой сети Rinkeby.
Также вы создадите одностраничное Web-приложение, с помощь которого можно вызывать функции смарт-контракта DrNFT.sol с целью создания токенов, получения информации о токенах по их идентификатору, а также переводу токенов на другой аккаунт.
Урок 16
Урок 16
Оптимизация программ Solidity
На уроке 16 вы изучите различные типы памяти, выделяемой смарт-контрактам Solidity, научитесь определять потребление газа функциями смарт-контракта, а также смотреть карту распределения памяти и минимизировать потребление памяти.
На практических занятиях вы создадите стенд для измерения газа и получения карты распределения памяти для Hardhat, проверите на практике различные методы оптимизации потребления памяти и газа.
Автор и ведущий курса
Александр Фролов
Автор десятков книг ИТ-тематики, основатель SAAS-платформы Shop2YOU
Подробнее об авторе
Александр Фролов закончил МИФИ с красным дипломом. В отрасли ИТ с 90-х годов. За это время открыл собственную SAAS-платформу Shop2YOU, предоставляющую предпринимателям недорогие, но мощные интернет-магазины, а также сложные проекты в e-commerce, выполненные на заказ. Создал сервис восстановления данных datarecovery.ru.
Написал десятки книг и статей ИТ-тематики, среди них книгу Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство.
Известен по сериям книг Библиотека системного программиста и Персональный компьютер. Шаг за шагом, а также Библиотеки примеров приложений Java.
Начнем?
Мы ждем на наших курсах абитуриентов из Москвы, Подмосковья, и остальных городов России:
Фролов Александр Вячеславович.
ИНН 773606706717
г. Москва
Соглашение об обработке персональных данных