Разработка смарт-контрактов в Ethereum
Шрифт:
По умолчанию это папка user.
Из Remix IDE вам необходимо активировать это соединение с локальным компьютером.
Для этого нажмите на значок подключения к локальному хосту.
В результате общая папка будет доступна в проводнике файлов среды Remix.
При запуске среды Remix из архива с помощью страницы index.html, доступа к папке локального компьютера не будет.
Для доступа нужно установить модуль Remixd глобально.
А затем запустить Remixd и расшарить какую-нибудь папку.
После
В результате общая папка будет доступна в проводнике файлов среды Remix.
Remix File Explorer
В проводнике файлов по умолчанию отображаются все файлы, хранящиеся в вашем браузере.
Вы можете увидеть их в папке браузера.
Вы всегда можете переименовать, удалить или добавить новые файлы в проводник файлов.
Обратите внимание, что очистка хранилища браузера удалит все файлы, которые вы написали.
Чтобы этого избежать, нужно использовать Remixd, который позволяет хранить и синхронизировать файлы в браузере с папкой локального компьютера.
При этом все изменения, сделанные в редакторе Remix будут автоматически сохраняться в файле папки локального компьютера.
Помимо соединения с локальным компьютером, кнопки вверху проводника файлов позволяют создать новый файл в хранилище браузере, импортировать локальный файл в хранилище браузера, скопировать файл из хранилища браузера в другой экземпляр Remix.
Также можно опубликовать файл из хранилища браузера в анонимный публичный gist.
Gist – это сервис Github, который позволяет обмениваться отдельными файлами, частями файлов и полными приложениями с другими людьми.
Remix Solidity Editor
Редактор Remix позволяет перекомпилировать код при каждом изменении текущего файла или выборе другого файла.
Он также обеспечивает подсветку синтаксиса, сопоставляемую с ключевыми словами языка Solidity.
Редактор Remix отображает открытые файлы в виде вкладок, отображает предупреждения компиляции и ошибки.
Кроме того, Remix непрерывно сохраняет текущий файл (в течение 5 секунд после последних изменений).
Кнопка +/– в верхнем левом углу позволяет увеличить/уменьшить размер шрифта редактора.
Внизу редактора расположен терминал, который отображает журнал при отладке контракта.
Remix Compile
Remix запускает компиляцию каждый раз при изменении текущего файла или выборе другого файла.
Если в контракте много зависимостей и требуется много времени для компиляции, можно отключить автокомпиляцию.
После каждой компиляции обновляется список со всеми скомпилированными контрактами.
В диалоговом окне Details отображается подробная информация о текущем выбранном контракте.
Ниже отображаются ошибки компиляции и предупреждения.
Здесь вы также можете опубликовать свой контракт на Swarm.
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 по адресуи дальше URL адрес файла.
URL адрес файла представляет собой имя протокола bzz и дальше хэш файла.
Таким образом, Swarm определяет протокол bzz, который работает поверх сети ethereum.
И сеть Swarm представляет собой набор узлов в сети Ethereum, каждый из которых запускает протокол bzz.
Установку узла Swarm и его использование можно посмотреть в документации.
Remix Run
Вкладка Run среды Remix позволяет отправлять транзакции в текущую среду выполнения.
Здесь есть настройки, которые позволяют напрямую влиять на выполнение транзакции.
В списке можно выбрать среду выполнения.
Это JavaScript VM, где все транзакции будут выполняться в блокчейне браузера.
Это означает, что ничего не будет сохранено, и перезагрузка страницы браузера перезапустит новую цепочку с нуля, старая не будет сохранена.
Среда выполнения Injected Provider. Remix будет подключаться к инструменту со встроенным web3. Mist и Metamask являются примерами поставщиков, которые интегрированы с web3.