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

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

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

Алексей Бурков

Учебная и научная литература / Образование и наука18+

Введение

В настоящее время технологии распределенных реестров (блокчейн-технологии) проникают во многие сферы человеческой деятельности. Изначально технология блокчейн использовалась в финансовой сфере для создания криптовалют. Затем была разработана технология защищенного хранения небольших объемов информации. И наконец, после появления блокчейна 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 или С++.

Перейти на страницу:

Похожие книги

Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT
Ум в движении. Как действие формирует мысль
Ум в движении. Как действие формирует мысль

Как мозг обрабатывает информацию об окружающем нас пространстве? Как мы координируем движения, скажем, при занятиях спортом? Почему жесты помогают нам думать? Как с пространством соотносятся язык и речь? Как развивались рисование, картография и дизайн?Книга известного когнитивного психолога Барбары Тверски посвящена пространственному мышлению. Это мышление включает в себя конструирование «в голове» и работу с образами в отношении не только физического пространства, но и других его видов – пространств социального взаимодействия и коммуникации, жестов, речи, рисунков, схем и карт, абстрактных построений и бесконечного поля креативности. Ключевая идея книги как раз и состоит в том, что пространственное мышление является базовым, оно лежит в основе всех сфер нашей деятельности и всех ситуаций, в которые мы вовлекаемся.Доступное и насыщенное юмором изложение серьезного, для многих абсолютно нового материала, а также прекрасные иллюстрации привлекут внимание самых взыскательных читателей. Они найдут в книге как увлекательную конкретную информацию о работе и развитии пространственного мышления, так и важные обобщения высокого уровня, воплощенные в девять законов когниции.

Барбара Тверски

Научная литература / Учебная и научная литература / Образование и наука