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

Тимур Машнин, 2022

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

Оглавление

Remix Swarm

Swarm — это распределенная платформа хранения и служба распространения контента.

Хранение данных большого объема в самом блокчейне может стоить немалых денег.

Эта проблема решается с помощью децентрализованного хранилища Ethereum Swarm.

Swarm обеспечивает децентрализованное хранение данных в хранилищах узлов, владельцы которых отдают свои ресурсы в общее пользование.

Для работы децентрализованного хранилища Swarm устанавливаются узлы сети Swarm, которая работает поверх сети Ethereum.

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

Если вернуться к среде Remix, то при нажатии кнопки Publish on Swarm, в хранилище браузера будет создано хранилище Swarm, в которое сохранится файл.

При этом опубликованные данные будут содержать исходный код abi и solidity.

Application Binary Interface (ABI) — это механизм кодирования/декодирования данных в и из машинного кода виртуальной машины.

Исходный код ABI — это определение интерфейса контракта для доступа к бинарным данным контракта в блокчейне через интерфейс ABI.

Application Binary Interface (ABI) представляет собой схему кодирования данных, используемую в Ethereum для работы со смарт-контрактами.

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

Кнопку Publish on Swarm среды Remix можно использовать для автоматической проверки исходного кода смарт-контракта или для извлечения определения интерфейса ABI.

При реальной публикации файла в сеть Swarm с помощью установленного узла Swarm, доступ к опубликованному файлу можно получить через свой локальный работающий узел Swarm по адресу http://localhost:8500/ и дальше URL адрес файла.

URL адрес файла представляет собой имя протокола bzz и дальше хэш файла.

Таким образом, Swarm определяет протокол bzz, который работает поверх сети ethereum.

И сеть Swarm представляет собой набор узлов в сети Ethereum, каждый из которых запускает протокол bzz.

Установку узла Swarm и его использование можно посмотреть в документации.

Смотрите также

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