Я полностью переработал и дополнил содержимое своей книги "Создание смарт-контрактов 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/   Вы познакомитесь с назначением и основными областями применения технологий блокчейна Ethereum и смарт-контрактов Solidity, увидите, что эта технология дает программистам много возможностей получить престижную работу. На этом уроке вы узнаете, как устроен блокчейн и для чего он используется, познакомитесь с основными понятиями — блоки, хеш-функции, распределенная база данных, транзакции, публичные и приватные ключи, публичные и приватные блокчейны, децентрализованные приложения, смарт-контракты, язык программирования Solidity, майнинг. Вы познакомитесь с особенностями децентрализованных приложений Ethereum. На третьем уроке вы подготовите рабочую среду, необходимую для изучения Ethereum и смарт-контрактов Solidity. Вы установите на сервер с ОС Ubuntu программы Geth, Node.js, Truffle, Ganache-cli, пакет Web3, а также пакетный компилятор solc. Далее вы создадите приватный блокчейн, состоящий из одного узла, выполните его инициализацию и убедитесь, что в вашем блокчейне работает майнинг. Вы научитесь запускать свой узел Ethereum на базе Geth и Ganache, а также подключаться к ним в консоли JavaScript. Вы научитесь выдавать команды Geth в консоли JavaScript и будете готовы для первых экспериментов с вашим приватным блокчейном. На четвертом уроке вы научитесь управлять аккаунтами, а также переводить средства с одного аккаунта на другой. Попутно вы изучите криптовалютные единицы, которые применяются в сети Ethereum. Вы узнаете, что созданные транзакции сначала попадают в состояние ожидания и находятся в нем до тех пор, пока в блокчейн не будет добавлен новый блок.  Вы сможете проверить состояние транзакции, а когда она будет выполнена — получить ее квитанцию. Из квитанции вы сможете определить, сколько газа было потрачено на выполнение транзакции. А если транзакция была связана с публикацией контракта, то получите еще и адрес опубликованного контракта. На этом уроке вы узнаете о смарт-контрактах в сети Ethereum и о том, как они выполняются виртуальной машиной Ethereum. Мы расскажем, как создать смарт-контракт на языке Solidity и как его опубликовать. Также вы узнаете о так называемом бинарном интерфейсе приложения Application Binary Interface (ABI). Вы будете работать со смарт-контрактами в интегрированной среде разработки Remix Solidity, доступной через браузер, а также как автономное приложение. Вы научились компилировать и публиковать контракт, а также вызывать его функции, передавая параметры. На шестом уроке вы сделаете первые шаги к практическому использованию смарт-контрактов Solidity, вызывая их из Node.js. Вы напишете скрипт JavaScript для публикации смарт-контракта и вызова его функций, узнаете, можно ли обновлять уже опубликованные смарт-контракты. Вы создадите скрипт, способный переводить средства между обычными аккаунтами и зачислять их на обычные аккаунты и аккаунты смарт-контрактов. Кроме того, вы научитесь создавать функции смарт-контракта, позволяющие определить текущий баланс на счету смарт-контракта, а также вызывать такие функции из скрипта JavaScript, работающего под управлением Node.js. На седьмом уроке вы научитесь устанавливать и использовать интегрированную среду разработки Truffle —удобный инструмент программиста смарт-контрактов Solidity, пригодную для реальных проектов Ethereum.  С помощью Truffle вы будете создавать, публиковать и тестировать смарт-контракты, а также вызывать функции смарт-контрактов. На восьмом уроке вы научитесь работать с тестовой сетью Rinkeby, полезной при отладке смарт-контрактов перед их публикацией в основной сети Ethereum.  При этом для создания собственного узла Rinkeby вы будете использовать Geth, а для разработки смарт-контрактов Solidity — Truffle. Вы пополните свой аккаунт Rinkeby средствами, опубликуете в Rinkeby свой смарт-контракт, а также научитесь переводить средства на другие аккаунты Rinkeby. Вы также запустите скрипты Node.js, вызывающие функции смарт-контракта в сети Rinkeby. Вы также познакомитесь с сайтами, где можно посмотреть текущее состояние, содержимое блоков и транзакций для тестовой сети Rinkeby и основной сети Ethereum. На девятом уроке вы научитесь пользоваться профессиональным инструментом Hardhat, с помощью которого можно компилировать, тестировать и публиковать смарт-контракты.  Вы будете публиковать смарт-контракты в тестовой сети Rinkeby с помощью локального узла Geth, а также узлов, предоставляемых сервисами Infura и Alchemy. Вы установите расширение браузера MetaMask, и научитесь импортировать в него аккаунты узла Geth, а также экспортировать приватные ключи аккаунтов. Вы найдете на сайте https://www.rinkeby.io адреса смарт-контрактов, опубликованных с помощью Hardhat в сети Rinkeby через локальный узел Geth, через Infura и Alchemy. На десятом уроке вы изучите структуру смарт-контракта и основные типы данных Solidity, такие как беззнаковые целые числа и числа со знаком, адреса, строки, массивы, перечисления, структуры и словари. Вы также напишете смарт-контракты, использующие эти типы данных. Понимание структуры смарт-контракта и хорошее владение типами данных необходимо для успешного составления смарт-контрактов. На уроке 11 вы научитесь выпускать собственные токены, соответствующие стандарту ERC-20. Вы познакомитесь с этим стандартом и создадите свой смарт-контракт, выпускающий токены Doctor Coin. Далее вы напишете тесты для этого смарт-контракта и запустите их под управлением Hardhat.  Вы также сделаете сервис на базе Node.js и Express, с помощью которого можно вызывать функции смарт-контракта, а также напишете тестовое приложение Node.js для вызова этих функций. Смарт-контракты Solidity не могут напрямую обращаться к ресурсам сервера, на котором они работают, и к программным интерфейсам различных сервисов через АПИ. На уроке 12 вы узнаете, каким способом данные из реального мира могут попадать в память смарт-контрактов. Вы создадите собственный оракул, способный получать и сохранять в смарт-контракте текущий курс обмена USD на рубли с сайта ЦБ РФ. Вы также научитесь инициировать и обрабатывать события в смарт-контрактах Solidity. На уроке 13 вы научитесь интегрировать одностраничные сайты, сделанные при помощи HTML и JavaScript, с расширением браузера MetaMask. В результате вы создадите сайт, способный вызывать функции смарт-контракта ERC-20, о котором мы рассказывали на 11 уроке. При этом для работы такого сайта не нужно будет создавать свой узел Ethereum. С помощью этого сайта вы переведете средства Ether и токены Doctor Coin с одного аккаунта на другой.  На уроке 14 вы познакомитесь с межпланетной файловой системой IPFS и установите собственный узел IPFS.  Далее вы научитесь записывать файлы в IPFS и читать их из этой сети с помощью команд, а также скрипта JavaScript для Node.js. Это потребуется вам на следующем уроке, когда вы будете создавать токены NFT. На уроке 15 вы узнаете о том, что бывают взаимозаменяемые и невзаимозаменяемые токены, такие как NFT, для чего могут использоваться токены NFT, познакомитесь со стандартом ERC-721, который используется для смарт-контрактов, работающих с токенами NFT. Вы создадите такой смарт-контракт DrNFT.sol с применением библиотеки OpenZeppelin в Hardhat, протестируете его и опубликуете в тестовой сети Rinkeby. Также вы создадите одностраничное Web-приложение, с помощь которого можно вызывать функции смарт-контракта DrNFT.sol с целью создания токенов, получения информации о токенах по их идентификатору, а также переводу токенов на другой аккаунт. Приступить к обучению   Управляющий директор