Опубликован: 28.01.2018 | Доступ: свободный | Студентов: 924 / 143 | Длительность: 06:54:00
Лекция 3:

Знакомство с Remix - web-среда Solidity IDE. Понимание основ среды Ethereum

Информация о контрактах на вкладке Compilation

В правой части находятся несколько опций для взаимодействия со смарт-контрактом и получения информации о нем. Сверху расположены вкладки для компиляции (Compile), запуска (Run), изменения настроек (Settings), отладки (Debugger), анализа (Analysis) и получения поддержки (Support).


Вкладка Compile. В большинстве случаев при работе в среде Remix действует настройка автоматической компиляции Auto-Compile - код компилируется по мере ввода текста. Чуть ниже приводятся результаты статического анализа кода (подробнее с ними можно ознакомиться на вкладке Analysis).


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


В случае, если в файле Solidity описано более одного контракта, здесь можно выбрать нужный контракт


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


Кроме того, доступен двоичный интерфейс для приложений (API), можно скопировать участок кода в буфер обмена и использовать его для взаимодействия с контрактом посредством Mist или другого веб-кошелька для среды Ethereum.


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

Все, что нужно знать о запуске файлов Solidity в среде Remix

Вкладка Run. Это опция выбора среды запуска; виртуальная машина Java будет обеспечивать эмуляцию среды блокчейна прямо в браузере.


В эмулированной среде можно использовать несколько счетов, с сотней единиц эфира на каждом, и, конечно, создавать, размещать и запускать контракты.


Все они будут работать в эмулированной среде блокчейна, то есть не будет подключения к MetaMask или реальному блокчейну - все происходит только в браузере.


Если закрыть и открыть браузер, вся информация будет потеряна.

Для каждой транзакции, предусмотренной контрактом, можно установить свой предел расхода газа. Например, в функции abc (сделаем ее публичной) переменная myTestString меняет свое значение с "abc123" на "bbbccc". Теперь опубликуем контракт.


Видно, что переменная myTestString. имеет значение "abc123".


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

Алексей Миронов
Алексей Миронов

Здравствуйте, сколько стоит курс Работа с Ethereum?