LibKing » Книги » comp-programming » Тимур Машнин - Разработка смарт-контрактов в Ethereum

Тимур Машнин - Разработка смарт-контрактов в Ethereum

Тут можно читать онлайн Тимур Машнин - Разработка смарт-контрактов в Ethereum - бесплатно ознакомительный отрывок. Жанр: comp-programming, год 2022. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Тимур Машнин - Разработка смарт-контрактов в Ethereum
  • Название:
    Разработка смарт-контрактов в Ethereum
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    2022
  • ISBN:
    нет данных
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Тимур Машнин - Разработка смарт-контрактов в Ethereum краткое содержание

Разработка смарт-контрактов в Ethereum - описание и краткое содержание, автор Тимур Машнин, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Эта книга рассказывает о принципах работы Ethereum, отличии Ethereum от Bitcoin. Вы узнаете что такое децентрализованные приложения Dapp и смарт-контракты, познакомитесь с инструментами разработки Dapp. Изучите высокоуровневый язык Solidity создания смарт-контрактов для виртуальной машины Ethereum. Познакомитесь со средой разработки Remix. Узнаете о практическом применении смарт-контрактов, стандартах ERC20, ERC-721, ERC-1155 и EIP-3156.

Разработка смарт-контрактов в Ethereum - читать онлайн бесплатно ознакомительный отрывок

Разработка смарт-контрактов в Ethereum - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Тимур Машнин
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

Предположим, что отправитель устанавливает лимит газа 50 000, а цену газа 20 Gwei.

Это означает, что отправитель готов потратить на выполнение этой транзакции не более чем 50 000 x 20 Gwei = 1 000 000 000 000 000 Wei = 0,001 эфира.

Таким образом, лимит газа представляет собой максимальное количество газа, которое готов оплатить отправитель.

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

После выполнения транзакции эквивалент любого количества неиспользованного газа возвращается на счёт отправителя в эфирах, будучи обменянным по первоначальной ставке.

Если отправитель не предоставляет необходимого для выполнения транзакции количества газа, и оно исчерпывается в процессе её выполнения, то такая транзакция признаётся недействительной.

В этом случае выполнение транзакции прерывается, любые произведённые ею изменения в состоянии сети отменяются и Эфириум возвращается в состояние, в котором он находился перед началом транзакции – как если бы её вовсе не было.

Так как к тому моменту, как отпущенное на транзакцию количество газа было исчерпано, машина уже затратила ресурсы на выполнение вычислений, логично, что в этом случае плата за газ отправителю транзакции не возвращается.

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

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

Таким образом, майнеры могут выбирать, какие транзакции они хотят подтвердить либо проигнорировать.

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

Газ используется для оплаты не только вычислительных действий, но и хранения данных.

Общая плата за хранение пропорциональна наименьшему использованному объему, кратному 32 байтам числу.

В комиссии за хранение данных есть свои нюансы.

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

Поэтому, если транзакция инициирует выполнение действия, в результате которого объём занимаемого хранилища сокращается, то комиссия за выполнение этой операции не взимается, ПЛЮС производится возврат средств за освобождённый объём.

Таким образом, есть разница между транзакцией, в которой газ закончился и транзакцией, которая не имеет достаточно высокого уровня цены за газ.

Если цена на газ, которая установлена в транзакции, слишком низкая, никто даже не потрудится выполнить транзакцию.

Она просто не будет включена в блокчейн майнерами.

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

Майнер просто прекратит обработку транзакции, вернет любые сделанные изменения, но все равно включит ее в блок-цепочку в качестве «неудачной транзакции», удержав за нее плату.

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

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

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

Шахтеры взимают плату только за ту работу, которую они на самом деле делают.

Эфириум построен таким образом, что интервал между блоками в нём значительно меньше (~15 секунд), чем в других блокчейнах и, например, в Биткоине (~10 минут).

Это позволяет ускорить процесс обработки транзакций.

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

Эти конкурирующие блоки называют ещё потерянными, то есть намайненными блоками, но не включёнными в основную цепочку.

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

Оммеры, включаемые майнерами в блокчейн, должны быть «действительными», то есть быть сформированными не более чем в шестом поколении от настоящего блока.

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

За подтверждение оммеров майнеры получают меньшее вознаграждение, чем за полный блок.

Виртуальная машина Ethereum является сердцем Ethereum Эта виртуальная машина - фото 18

Виртуальная машина Ethereum является сердцем Ethereum.

Эта виртуальная машина предназначена для запуска всеми участниками одноранговой сети.

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

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

Теперь разберемся со всем этим поподробнее.

Блокчейн Ethereum хранит блоки, которые в свою очередь хранят транзакции и состояние.

И блокчейн Ethereum во многом похож на блокчейн биткойнов, хотя он имеет некоторые отличия.

Основное различие между Ethereum и Bitcoin в отношении архитектуры blockchain заключается в том, что, в отличие от биткойнов, блоки Ethereum содержат копию как списка транзакций, так и самого последнего состояния.

Состояние хранится в специальной структуре данных, называемой деревом Merkle.

Таким образом, блокчейн Ethereum включает в себя корень состояния (по одному на блок), который хранит корневой хэш дерева, представляющего состояние системы во время создания блока.

И эта структура данных хранит специальные объекты, называемые аккаунтами или счетами, причем каждый аккаунт имеет 20-байтовый адрес и содержит четыре поля:

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Тимур Машнин читать все книги автора по порядку

Тимур Машнин - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Разработка смарт-контрактов в Ethereum отзывы


Отзывы читателей о книге Разработка смарт-контрактов в Ethereum, автор: Тимур Машнин. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img