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

Здесь есть возможность читать онлайн «Александр Фролов - Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2019, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Квитанция транзакции

Когда транзакция выполнилась (о чем можно узнать при помощи только что рассмотренного метода web3.eth.getTransaction), вы можете получить так называемую квитанцию об ее выполнении. Для этого предназначен метод web3.eth.getTransactionReceipt.

Передайте этому методу в качестве параметра хеш завершенной транзакции, и вы получите квитанцию в виде объекта:

> web3.eth.getTransactionReceipt("0xb6d13a5e915c3af1feabad7caec7b45348146695973b32285df287639717e916")

{

blockHash: "0x3c9761fefa52a0bc563733d87163828c5fe1316d78ca89be8af18d9c818b0eea",

blockNumber: 4643,

contractAddress: null,

cumulativeGasUsed: 21000,

from: "0x4f744742ac711fd111c7a983176db1d48d29f413",

gasUsed: 21000,

logs: [],

logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",

root: "0xa5cdcd909d837e937189f4cffc52840111f4430bf871f07094eaea96c47d682d",

to: "0xf212d0180b331a88bd3cafbd77bbd0d56398ae00",

transactionHash: "0xb6d13a5e915c3af1feabad7caec7b45348146695973b32285df287639717e916",

transactionIndex: 0

}

Поля объекта квитанции перечислены в табл. 4.4.

Таблица 4.4. Квитанция выполненной транзакции

Анализируя квитанцию вы можете узнать номер блока в котором размещена - фото 17

Анализируя квитанцию, вы можете узнать номер блока, в котором размещена транзакция blockNumber, а также индекс позиции размещения транзакции в блоке transactionIndex.

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

Также обратите внимание на поле contractAddress. Когда мы займемся публикацией смарт-контрактов, нам потребуется адрес размещенного смарт-контракта из этого поля.

Итоги урока

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

Вы узнали, что созданные транзакции сначала попадают в состояние ожидания и находятся в нем до тех пор, пока в блокчейн не будет добавлен новый блок. Проверку состояния транзакции можно выполнить методом web3.eth.getTransaction.

Когда транзакция выполнена, то с помощью метода web3.eth.getTransactionReceipt вы можете получить ее квитанцию. Из квитанции можно определить, сколько газа было потрачено на выполнение транзакции. Если транзакция была связана с публикацией контракта, то этот метод поможет вам получить адрес опубликованного контракта. Адрес контракта необходим, как вы скоро узнаете, для вызова его методов.

Урок 5. Публикация первого контракта

Цель урока: на этом уроке вы узнаете о смарт-контрактах в сети Ethereum и о том, как они выполняются виртуальной машиной Ethereum. Мы расскажем, как создать смарт-контракт на языке Solidity и как опубликовать его в приватной сети. Также вы научитесь устанавливать и запускать пакетный компилятор solc. Вам нужно узнать о так называемом бинарном интерфейсе приложения Application Binary Interface (ABI) и научится его использовать.

Практические задания: на пятом уроке вы создадите первый контракт HelloSol в среде разработки Remix Solidity IDE. Этот контракт вам предстоит опубликовать в приватной сети и проверить в работе. Также вы установите пакетный компилятор solc и откомпилируете им свой смарт-контракт HelloSol.

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство»

Представляем Вашему вниманию похожие книги на «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство»

Обсуждение, отзывы о книге «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x