Ethereum: работа с сетью, смарт-контракты и распределенные приложения

на главную - закладки

Жанры

Поделиться:

Ethereum: работа с сетью, смарт-контракты и распределенные приложения

Шрифт:

Введение

В настоящее время технологии распределенных реестров (блокчейн-технологии) проникают во многие сферы человеческой деятельности. Изначально технология блокчейн использовалась в финансовой сфере для создания криптовалют. Затем была разработана технология защищенного хранения небольших объемов информации. И наконец, после появления блокчейна Ethereum стало возможно создавать программы в блокчейн-сетях.

Блокчейн 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 .

2. Node.js – компилятор JavaScript в машинный код .

3. Фреймворк Truffle .

4. Эмулятор Ganache .

5. Криптокошелек MetaMask .

6. Офлайн-криптокошелек MyEtherWallet .

7. Установочный пакет блокчейн-сети Geth .

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

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

Для успешного изучения

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

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

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

Электронная версия данного учебного курса размещена на учебном портале Stepik по адресуВ конце каждого урока электронной версии добавлен небольшой аттестационный тест, а в конце каждой недели – практические задания для самостоятельного выполнения. Тем, кто сдаст все тесты и выполнит все практические задания, выдается сертификат по разработке смарт-контрактов и распределенных приложений (DApps) для блокчейн-сети Ethereum в операционной системе Windows.

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

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

Введение

Эта неделя будет посвящена установке и настройке окружения для создания и тестирования смарт-контрактов для блокчейна Ethereum. В качестве языка программирования будем использовать язык программирования смарт-контрактов Solidity, а в качестве среды разработки – Visual Studio Code (VS Code). Для создания проектов будем использовать фреймворк Truffle, для запуска и тестирования наших смарт-контрактов – эмулятор блокчейна Ethereum Ganache, а в качестве криптокошелька – расширение для браузера MetaMask и офлайн-криптокошелек MyEtherWallet.

Рассмотрим пошагово установку перечисленного ПО. После установки необходимого ПО мы протестируем его работу на тестовом смарт-контракте из фреймворка Truffle.

Урок 1. Установка Visual Studio Code

Аннотация. В данном уроке мы рассмотрим процесс установки среды разработки (IDE) Visual Studio Code [1].

Среда разработки (IDE) Visual Studio Code – это удобный инструмент для написания кода смарт-контрактов. Он позволяет как создавать сам код, так и производить его отладку.

Для начала нам необходимо скачать установочный пакет VS Code. Это можно сделать с официального сайта Visual Studio Code, расположенного по адресу https://code.visualstudio.com/.

Рис. 1.1.1

Для скачивания версии для операционной системы Windows необходимо нажать кнопку Download for Windows (рис. 1.1.1).

В появившемся окне укажите место, куда будет сохранен установочный пакет VS Code, и нажмите кнопку «Сохранить» (рис. 1.1.2).

Книги из серии:

Без серии

Комментарии:
Популярные книги

Крепость в Лихолесье

Ангина
Фантастика:
фэнтези
5.00
рейтинг книги
Крепость в Лихолесье

Вперед в прошлое 5

Ратманов Денис
5. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 5

Клан Мамонта. Народ моржа. Люди Быка

Щепетов Сергей
Каменный век
Фантастика:
научная фантастика
6.60
рейтинг книги
Клан Мамонта. Народ моржа. Люди Быка

Газлайтер. Том 3

Володин Григорий
3. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 3

Воевода

Ланцов Михаил Алексеевич
5. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Воевода

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота

Стеллар. Заклинатель

Прокофьев Роман Юрьевич
3. Стеллар
Фантастика:
боевая фантастика
8.40
рейтинг книги
Стеллар. Заклинатель

Аристократ из прошлого тысячелетия

Еслер Андрей
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аристократ из прошлого тысячелетия

Барон играет по своим правилам

Ренгач Евгений
5. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Барон играет по своим правилам

Глинглокский лев. (Трилогия)

Степной Аркадий
90. В одном томе
Фантастика:
фэнтези
9.18
рейтинг книги
Глинглокский лев. (Трилогия)

Злыднев Мир. Дилогия

Чекрыгин Егор
Злыднев мир
Фантастика:
фэнтези
7.67
рейтинг книги
Злыднев Мир. Дилогия

Академия

Кондакова Анна
2. Клан Волка
Фантастика:
боевая фантастика
5.40
рейтинг книги
Академия

Полковник Империи

Ланцов Михаил Алексеевич
3. Безумный Макс
Фантастика:
альтернативная история
6.58
рейтинг книги
Полковник Империи