Ethereum: работа с сетью, смарт-контракты и распределенные приложения. Алексей Бурков

Читать онлайн.



Скачать книгу

ной машиной – EVM (Ethereum Virtual Machine). Данное программное обеспечение позволяет децентрализованно хранить и запускать программы внутри блокчейн-сети Ethereum. В такой роли блокчейн-сеть работает как некий суперкомпьютер, где программное обеспечение хранится и выполняется на множестве компьютеров (узлов), подключенных к блокчейн-сети.

      Программы, выполняемые в EVM, называются смарт-контрактами. Наиболее популярным языком программирования смарт-контрактов в настоящее время является язык программирования Solidity. В основу языка программирования Solidity был положен язык Java Script. Поэтому если вы знаете такие языки программирования, как Java Script, Java или С++, то изучение Solidity будет для вас достаточно простым.

      В представленном учебнике рассматривается создание смарт-контрактов для блокчейн-сети Ethereum на языке программирования Solidity в операционной системе Windows. Мы также рассмотрим развертывание окружения для создания и тестирования смарт-контрактов и децентрализованных приложений (DApps). Более того, в завершение курса мы создадим свою собственную блокчейн-сеть.

      Весь учебник разбит на шесть недель. Неделя – это глава учебника, посвященная определенному разделу создания смарт-контрактов. Каждая неделя разбита на уроки. Урок – это определенная тема в изучении программирования смарт-контрактов.

      Учебник состоит из следующих глав-недель.

      • Неделя № 1. Развертывание рабочего окружения («песочницы») для создания и тестирования смарт-контрактов на языке программирования Solidity.

      • Неделя № 2. Создание и тестирование простейших смарт-контрактов.

      • Неделя № 3. Хранение и обработка данных в распределенных реестрах.

      • Неделя № 4. Реализация игровых смарт-контрактов.

      • Неделя № 5. Финансовые смарт-контракты.

      • Неделя № 6. Интерфейс, тестирование и публикация смарт-контрактов.

      Теперь рассмотрим применяемые в учебнике обозначения.

      1. В учебнике применяется сквозная нумерация рисунков. То есть «рис. 3.5.1» обозначает первый рисунок пятого урока третьей недели.

      2. На рисунках важные места интерфейса выделены красными стрелками.

      3. В тексте учебника встречаются замечания, выделенные серым цветом. Замечания – это важная или справочная информация, непосредственно не связанная с темой урока.

      4. Некоторые большие блоки кода вынесены в приложение.

      5. В тексте ссылки на источники информации обозначаются в квадратных скобках. Например, [4].

      Для разработки смарт-контрактов нам необходимо установить следующее программное обеспечение (ПО).

      1. Visual Studio Code и расширение для работы с языком программирования Solidity (https://code.visualstudio.com/).

      2. Node.js – компилятор JavaScript в машинный код (https://Node.js.org/ru/).

      3. Фреймворк Truffle (https://www.trufflesuite.com/truffle).

      4. Эмулятор Ganache (https://www.trufflesuite.com/ganache).

      5. Криптокошелек MetaMask (https://MetaMask.io/).

      6. Офлайн-криптокошелек MyEtherWallet (https://github.com/kvhnuke/etherwallet/releases).

      7. Установочный пакет блокчейн-сети Geth (https://geth.ethereum.org/downloads/).

      Все описание установки вышеперечисленного ПО описано в уроках первой недели.

      Данный учебник предназначен для читателей, желающих освоить разработку смарт-контрактов на языке программирования Solidity. Учебник также подойдет тем, кто планирует развернуть собственную блокчейн-сеть и создавать свои децентрализованные приложения (Dapp).

      Для успешного изучения материала, представленного в учебнике, желательно иметь начальные знания по технологии распределенных реестров (технологии блокчейн), желательно иметь базовый опыт программирования в таких языках программирования, как Java, Java Script или С++.

      Замечание. В данном учебнике не приведены основы технологии блокчейн и основы программирования, а рассматривается только технология создания смарт-контрактов для блокчейна Ethereum в операционной системе Windows. Для изучения основ технологии блокчейн можно воспользоваться нашим курсом на учебном портале Stepik по ссылке: https://stepik.org/54926.

      Также можно сдать аттестационный тест и получить сертификат по основам технологии блокчейн. Аттестационный тест расположен по адресу https://stepik.org/57910.

      Электронная версия данного учебного курса размещена на учебном портале Stepik по адресу https://stepik.org/course/60331/syllabus?auth=registration. В конце каждого урока электронной версии добавлен небольшой аттестационный тест, а в конце каждой недели – практические задания для самостоятельного выполнения. Тем, кто сдаст все тесты и выполнит все практические задания, выдается сертификат по разработке смарт-контрактов и распределенных приложений (DApps) для