Как стать автором
Обновить

Курс sol01. Создание смарт-контрактов Solidity для Ethereum

Время на прочтение6 мин
Количество просмотров8.2K

Я полностью переработал и дополнил содержимое своей книги "Создание смарт-контрактов 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 для вызова функций смарт-контрактов.

Курс адресован всем, кто интересуется передовыми технологиями и хочет быстро получить знания, позволяющие заниматься интересной и перспективной работой.

Присоединиться: https://solidity-ethereum.ru/

Урок 1. Блокчейн Ethereum

Вы познакомитесь с назначением и основными областями применения технологий блокчейна Ethereum и смарт-контрактов Solidity, увидите, что эта технология дает программистам много возможностей получить престижную работу.

Урок 2. Как устроен блокчейн

На этом уроке вы узнаете, как устроен блокчейн и для чего он используется, познакомитесь с основными понятиями — блоки, хеш-функции, распределенная база данных, транзакции, публичные и приватные ключи, публичные и приватные блокчейны, децентрализованные приложения, смарт-контракты, язык программирования Solidity, майнинг. Вы познакомитесь с особенностями децентрализованных приложений Ethereum.

Урок 3. Подготовка рабочей среды

На третьем уроке вы подготовите рабочую среду, необходимую для изучения Ethereum и смарт-контрактов Solidity. Вы установите на сервер с ОС Ubuntu программы Geth, Node.js, Truffle, Ganache-cli, пакет Web3, а также пакетный компилятор solc.

Далее вы создадите приватный блокчейн, состоящий из одного узла, выполните его инициализацию и убедитесь, что в вашем блокчейне работает майнинг. Вы научитесь запускать свой узел Ethereum на базе Geth и Ganache, а также подключаться к ним в консоли JavaScript.

Вы научитесь выдавать команды Geth в консоли JavaScript и будете готовы для первых экспериментов с вашим приватным блокчейном.

Урок 4. Учетные записи и перевод средств между аккаунтами

На четвертом уроке вы научитесь управлять аккаунтами, а также переводить средства с одного аккаунта на другой. Попутно вы изучите криптовалютные единицы, которые применяются в сети Ethereum.

Вы узнаете, что созданные транзакции сначала попадают в состояние ожидания и находятся в нем до тех пор, пока в блокчейн не будет добавлен новый блок.  Вы сможете проверить состояние транзакции, а когда она будет выполнена — получить ее квитанцию.

Из квитанции вы сможете определить, сколько газа было потрачено на выполнение транзакции. А если транзакция была связана с публикацией контракта, то получите еще и адрес опубликованного контракта.

Урок 5. Публикация первого контракта

На этом уроке вы узнаете о смарт-контрактах в сети Ethereum и о том, как они выполняются виртуальной машиной Ethereum. Мы расскажем, как создать смарт-контракт на языке Solidity и как его опубликовать. Также вы узнаете о так называемом бинарном интерфейсе приложения Application Binary Interface (ABI).

Вы будете работать со смарт-контрактами в интегрированной среде разработки Remix Solidity, доступной через браузер, а также как автономное приложение. Вы научились компилировать и публиковать контракт, а также вызывать его функции, передавая параметры.

Урок 6. Смарт-контракты и Node.js

На шестом уроке вы сделаете первые шаги к практическому использованию смарт-контрактов Solidity, вызывая их из Node.js. Вы напишете скрипт JavaScript для публикации смарт-контракта и вызова его функций, узнаете, можно ли обновлять уже опубликованные смарт-контракты.

Вы создадите скрипт, способный переводить средства между обычными аккаунтами и зачислять их на обычные аккаунты и аккаунты смарт-контрактов.

Кроме того, вы научитесь создавать функции смарт-контракта, позволяющие определить текущий баланс на счету смарт-контракта, а также вызывать такие функции из скрипта JavaScript, работающего под управлением Node.js.

Урок 7. Введение в Truffle

На седьмом уроке вы научитесь устанавливать и использовать интегрированную среду разработки Truffle —удобный инструмент программиста смарт-контрактов Solidity, пригодную для реальных проектов Ethereum.

С помощью Truffle вы будете создавать, публиковать и тестировать смарт-контракты, а также вызывать функции смарт-контрактов.

Урок 8. Миграция контрактов в приватную сеть Geth и в сеть Rinkeby

На восьмом уроке вы научитесь работать с тестовой сетью Rinkeby, полезной при отладке смарт-контрактов перед их публикацией в основной сети Ethereum.

При этом для создания собственного узла Rinkeby вы будете использовать Geth, а для разработки смарт-контрактов Solidity — Truffle.

Вы пополните свой аккаунт Rinkeby средствами, опубликуете в Rinkeby свой смарт-контракт, а также научитесь переводить средства на другие аккаунты Rinkeby. Вы также запустите скрипты Node.js, вызывающие функции смарт-контракта в сети Rinkeby.

Вы также познакомитесь с сайтами, где можно посмотреть текущее состояние, содержимое блоков и транзакций для тестовой сети Rinkeby и основной сети Ethereum.

Урок 9. Осваиваем Hardhat, Infura и Alchemy

На девятом уроке вы научитесь пользоваться профессиональным инструментом Hardhat, с помощью которого можно компилировать, тестировать и публиковать смарт-контракты.

Вы будете публиковать смарт-контракты в тестовой сети Rinkeby с помощью локального узла Geth, а также узлов, предоставляемых сервисами Infura и Alchemy.

Вы установите расширение браузера MetaMask, и научитесь импортировать в него аккаунты узла Geth, а также экспортировать приватные ключи аккаунтов.

Вы найдете на сайте https://www.rinkeby.io адреса смарт-контрактов, опубликованных с помощью Hardhat в сети Rinkeby через локальный узел Geth, через Infura и Alchemy.

Урок 10. Введение в Solidity

На десятом уроке вы изучите структуру смарт-контракта и основные типы данных Solidity, такие как беззнаковые целые числа и числа со знаком, адреса, строки, массивы, перечисления, структуры и словари. Вы также напишете смарт-контракты, использующие эти типы данных.

Понимание структуры смарт-контракта и хорошее владение типами данных необходимо для успешного составления смарт-контрактов.

Урок 11. Контракты ERC-20 и токены

На уроке 11 вы научитесь выпускать собственные токены, соответствующие стандарту ERC-20. Вы познакомитесь с этим стандартом и создадите свой смарт-контракт, выпускающий токены Doctor Coin.

Далее вы напишете тесты для этого смарт-контракта и запустите их под управлением Hardhat.

Вы также сделаете сервис на базе Node.js и Express, с помощью которого можно вызывать функции смарт-контракта, а также напишете тестовое приложение Node.js для вызова этих функций.

Урок 12. Оракулы

Смарт-контракты Solidity не могут напрямую обращаться к ресурсам сервера, на котором они работают, и к программным интерфейсам различных сервисов через АПИ. На уроке 12 вы узнаете, каким способом данные из реального мира могут попадать в память смарт-контрактов. Вы создадите собственный оракул, способный получать и сохранять в смарт-контракте текущий курс обмена USD на рубли с сайта ЦБ РФ.

Вы также научитесь инициировать и обрабатывать события в смарт-контрактах Solidity.

Урок 13. Интеграция DAPP c MetaMask

На уроке 13 вы научитесь интегрировать одностраничные сайты, сделанные при помощи HTML и JavaScript, с расширением браузера MetaMask.

В результате вы создадите сайт, способный вызывать функции смарт-контракта ERC-20, о котором мы рассказывали на 11 уроке. При этом для работы такого сайта не нужно будет создавать свой узел Ethereum.

С помощью этого сайта вы переведете средства Ether и токены Doctor Coin с одного аккаунта на другой.

Урок 14. Децентрализованное хранилище данных IPFS

На уроке 14 вы познакомитесь с межпланетной файловой системой IPFS и установите собственный узел IPFS.

Далее вы научитесь записывать файлы в IPFS и читать их из этой сети с помощью команд, а также скрипта JavaScript для Node.js. Это потребуется вам на следующем уроке, когда вы будете создавать токены NFT.

Урок 15. Осваиваем NFT

На уроке 15 вы узнаете о том, что бывают взаимозаменяемые и невзаимозаменяемые токены, такие как NFT, для чего могут использоваться токены NFT, познакомитесь со стандартом ERC-721, который используется для смарт-контрактов, работающих с токенами NFT.

Вы создадите такой смарт-контракт DrNFT.sol с применением библиотеки OpenZeppelin в Hardhat, протестируете его и опубликуете в тестовой сети Rinkeby.

Также вы создадите одностраничное Web-приложение, с помощь которого можно вызывать функции смарт-контракта DrNFT.sol с целью создания токенов, получения информации о токенах по их идентификатору, а также переводу токенов на другой аккаунт.

Приступить к обучению

 

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 5: ↑2 и ↓3-1
Комментарии1

Другие новости

Истории

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область