Эта проблема решается с помощью децентрализованного хранилища 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 и его использование можно посмотреть в документации.
Remix Run
Вкладка Run среды Remix позволяет отправлять транзакции в текущую среду выполнения.
Здесь есть настройки, которые позволяют напрямую влиять на выполнение транзакции.
В списке можно выбрать среду выполнения.
Это JavaScript VM, где все транзакции будут выполняться в блокчейне браузера.
Это означает, что ничего не будет сохранено, и перезагрузка страницы браузера перезапустит новую цепочку с нуля, старая не будет сохранена.
Среда выполнения Injected Provider. Remix будет подключаться к инструменту со встроенным web3. Mist и Metamask являются примерами поставщиков, которые интегрированы с web3.
Среда выполнения Web3 Provider. В этом случае Remix будет подключаться к удаленному узлу.
И вам нужно будет указать URL-адрес выбранному поставщику, такому как geth, parity или любому другому клиенту Ethereum.
Что такое Web3?
Web3 – это официальная Javascript библиотека Ethereum, которая позволяет работать с Ethereum из кода пользовательского приложения.
web3.js – это библиотека, которая позволяет взаимодействовать с локальным или удаленным узлом ethereum, используя соединение HTTP или IPC.
Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера: