Александр Фролов - Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство

Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство
Название: Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство
Автор:
Жанр: Программирование
Серии: Нет данных
ISBN: Нет данных
Год: 2019
О чем книга "Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство"

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

Бесплатно читать онлайн Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство


Введение

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

Эту книгу лучше не просто читать, а работать с ней, выполняя практические задания, описанные в уроках. Для работы вам потребуются локальный компьютер, виртуальный или облачный сервер с установленной ОС Debian или Ubuntu. Также для выполнения многих заданий можно использовать Raspberry Pi.

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

Цель второго урока – создать узел приватного блокчейна Ethereum для дальнейшей работы в рамках этого курса на сервере Ubuntu и Debian. Мы рассмотрим особенности установки основных утилит, таких как geth, обеспечивающего работу узла нашего блокчейна, а также демона децентрализованного хранилища данных swarm.

Третий урок научит вас проводить эксперименты с Ethereum на недорогом микрокомпьютере Raspberry Pi. Вы установите операционную систему (ОС) Rasberian на Raspberry Pi, утилиту Geth, обеспечивающую работу узла блокчейна, а также демон децентрализованного хранилища данных Swarm.

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

На пятом уроке вы познакомитесь со смарт-контрактами в сети Ethereum, узнаете об их выполнении виртуальной машиной Ethereum.

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

Также мы расскажем о так называемом бинарном интерфейсе приложения Application Binary Interface (ABI) и научим его использовать.

Шестой урок посвящен созданию скриптов JavaScript, работающих под управлением Node.js и выполняющих операции со смарт-контрактами Solidity.

Вы установите Node.js в ОС Ubuntu, Debian и Rasberian, напишете скрипты для публикации смарт-контракта в локальной сети Ethereum и вызова его функций.

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

На седьмом уроке вы научитесь устанавливать и использовать популярную среди разработчиков смарт-контрактов Solidity интегрированную среду Truffle. Вы научитесь создавать скрипты JavaScript, вызывающие функции контрактов с помощью модуля truffle-contract, а также выполните тестирование своего смарт-контракта средствами Truffle.

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

На девятом уроке вы приблизитесь еще на шаг к созданию смарт-контрактов для основной сети Ethereum. Вы научитесь публиковать контракты при помощи Truffle в приватной сети Geth, а также в тестовой сети Rinkeby. Отладка смарт-контракта в сети Rinkeby очень полезна перед его публикацией в основной сети – там практически все по-настоящему, но бесплатно.

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

Урок 10 посвящен распределенным хранилищам данных Ethereum Swarm. Используя распределенные хранилища, вы экономите на хранении данных большого объема в блокчейне Ethereum.

В рамках этого урока вы создадите локальное хранилище Swarm, выполните операции записи и чтения файлов, а также каталогов с файлами. Далее вы научитесь работать с публичным шлюзом Swarm, напишите скрипты для обращения к Swarm из Node.js, а также с помощью модуля Perl Net::Ethereum::Swarm.

Цель урока 11 – освоить работу со смарт-контрактами Solidity с применением популярного языка программирования Python и фреймворка Web3.py. Вы установите этот фреймворк, напишите скрипты для компиляции и публикации смарт-контракта, а также для вызова его функций. При этом Web3.py будет использован как сам по себе, так и совместно с интегрированной средой разработки Truffle.

На 12 уроке вы научитесь передавать данные между смарт-контрактами и реальным миром при помощи оракулов. Это пригодится вам для получения данных с Web-сайтов, устройств интернета вещей IoT, различных приборов и датчиков, и отправки данных из смарт-контрактов на эти устройства. В практической части урока вы создадите оракул и смарт-контракт, получающий актуальный курс обмена USD на рубли с сайта ЦБ РФ.

Обратная связь

Вы можете связаться с автором этой книги по адресам [email protected] или https://www.facebook.com/frolov.shop2you.

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

Урок 1. Кратко о блокчейне и сети Ethereum

Цель урока: познакомиться с принципами работы блокчейна Ethereum, областями его применения и основной терминологией.

Практические задания: в этом уроке не предусмотрены.

Едва ли сегодня есть разработчик программного обеспечения (ПО), который бы ничего не слышал о технологии блокчейн (Blockchain), криптовалютах (Cryptocurrency или Crypto Currency), биткоинах (Bitcoin), первичном размещении монет (ICO, Initial coin offering), смарт-контрактах (Smart Contract), а также других понятиях и терминах, имеющих отношение к блокчейну.

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

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

Что такое блокчейн

Блокчейн (Blockchain, Block Chain) представляет собой цепочку блоков данных, связанных друг с другом определенным образом. В начале цепочки находится первый блок, который называется первичным блоком (genesis block) или блоком генезиса. За ним следует второй, потом третий и так далее.


С этой книгой читают
Эта книга поможет вам быстро освоить основы робототехники и приступить к конструированию собственных роботов, разных систем с микроконтроллерами и даже элементов умного дома. Вам не потребуются знания языков программирования и паяльник. Изучайте микроконтроллеры и робототехнику по нашей книге, и вы сможете быстро освоить современные профессии. Вы научитесь программировать micro:bit версий 1.5 и 2, работать с кнопками, светодиодами, светодиодным и
Цель книги – познакомить читателей с существующими подходами и решениями в области моделирования бизнес-архитектуры предприятия. В книге освещаются различные аспекты данной проблематики, в том числе такие вопросы как базовые подходы к моделированию и возможности современных инструментальных средств.Особое внимание уделяется специфике организации проектов по разработке моделей бизнес-архитекуры. На основе практического опыта реализации проектов по
В этой книге автор, сам прошедший путь от разработчика до менеджера в сфере IT, рассказывает неочевидные моменты, которые являются критически важными для правильного управления. Почему разработчики увольняются после повышения зарплаты? Как делать FixedPrice проекты? Почему Scrum не упрощает менеджмент? Книга содержит ответ на эти и многие другие вопросы. В книге есть много баек, которые показывают тяжёлую, но интересную жизнь менеджера в разработ
Эта книга состоит из двух частей: художественной, где рассказывается удивительная история мальчика, захотевшего стать белым хакером (хотя в ней, конечно же, есть и девочка, а также его друзья), и научно-популярной, в которой дается обучение (она так и называется в книге, ты увидишь ее, когда начнешь читать) программированию и разным другим компьютерным вещам, очень нужным в современном мире. Но на самом деле это единая история, позволяющая задума
Увлекательная книга, которая знакомит юных читателей с основами программирования через простые примеры и интерактивные задания. В каждой главе раскрываются ключевые концепции, такие как алгоритмы, переменные, циклы, ветвления и функции. Дети узнают, как составлять инструкции для компьютеров, решать задачи и создавать свои первые программы на языке Python. Простые объяснения, аналогии из повседневной жизни и практические задания помогут начинающим
«Начать он решил издалека. И выбрал для этого, как ему показалось, самый подходящий момент: аккурат между протёртым молочным супом с брокколи (для связок полезно) и индейкой на пару (белок даёт силу, а калорий в ней чуть-чуть).– Мама, знаешь, о чём я тут подумал? – Он постарался, чтобы это прозвучало будто бы между прочим. Чтобы мама ни в коем случае не догадалась, как долго и мучительно вызревала эта спасительная мысль. Чтобы поверила: эта мысль
«Начнём с мифов. Где, когда и при каких обстоятельствах родилась идея об отдыхе в Крыму, сейчас выяснить невозможно. Важно, что она оказалась жизнеспособной. Аргументы «за» носили неопровержимый характер. И немудрено. Любовь к Крыму теплилась в будущих путешественниках годами, ибо была окрашена обаянием юности и красоты.Теперь о юности остались воспоминания, а красота явно нуждалась в поддержке, отчасти хирургической, отчасти финансовой. Именно ф
Анжелика решила начать разговор с главного, и едва в трубке раздался мужской голос, спросила:- Тебе еще нужна работа?- Да,- тут же послышалось в ответ.- Предоставляется бесплатное жилье, питание, а оплата…,- девушка, выдержав паузу, назвала сумму.Когда Алекс ответил быстрое «да», Лика довольно улыбнулась. Сама судьба послала вновь встречу с этим мужчиной, который теперь поможет ей решить одну «маленькую» проблему&he
- О чем задумалась, Лисичка? – слышу бархатный голос.- Почему Лисичка? – спрашиваю, не оборачиваясь, а сама замираю в предвкушении ласки. – Я же не рыжая даже!- Потому что похожа. Такой же хвостик у тебя манящий! В комнате темно, но мужчина наклоняется ко мне, намереваясь поцеловать, и мне удается разглядеть его лицо.Вздрагиваю, узнав человека с моего беглого рисунка, и просыпаюсь.Сердце колотится. Пульсация в висках оглушает. Н