Упражнение. Установка расширения Truffle для VS Code

Завершено

Расширение Truffle for VS Code упрощает создание, сборку и развертывание смарт-контрактов в реестрах Ethereum. Это расширение имеет встроенную интеграцию с Truffle, Ganache, а также другими инструментами и службами. В этом модуле мы будем использовать это расширение, чтобы создавать и тестировать смарт-контракты.

Установка расширения

В Visual Studio Code выберите пункт Расширения на боковой панели слева. Найдите Truffle для VS Code и выберите расширение, чтобы установить.

Screenshot showing how to install the Truffle for VS Code extension.

Прежде, чем использовать расширение Truffle убедитесь, что установлено следующее:

  • Node.js и npm — чтобы проверить наличие Node.js, откройте терминал и введите node. Если Node.js установлен, в окне терминала отобразятся сведения об установленной на компьютере версии Node.js. Кроме того, можно убедиться, что установлен диспетчер пакетов Node (npm). Для этого введите npm в терминале.
  • Git. Чтобы проверить наличие Git, откройте терминал и введите git. Если Git установлен, в окне терминала отобразится список доступных команд git.
  • Truffle Suite: расширение предоставляет ссылку на установку средств разработчика Truffle Suite (требуется, пока расширение находится в общедоступной предварительной версии).
  • Ganache — расширение предоставляет ссылку на установку Ganache (требуется, пока расширение предоставляется в общедоступной предварительной версии).

Если у вас не установлено необходимое программное обеспечение или его версии не соответствуют минимальным требованиям, расширение предоставит советы по установке этих инструментов.

Начать

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

  1. Добавьте на компьютер пустой каталог для проекта. Чтобы создать каталог из среды Visual Studio Code, последовательно выберите элементы Terminal (Терминал)>New Terminal (Новый терминал), а затем введите mkdir newSolidityProject. Запишите расположение этого каталога. Оно понадобится вам позже.

  2. В Visual Studio Code последовательно откройте разделы View (Просмотр)>Command Palette (Палитра команд). В поле поиска введите Truffle: New Solidity Project. По мере ввода появляется список предложений.

    Screenshot showing how to create a new Solidity project in Visual Studio Code.

  3. В качестве типа для проекта Solidity выберите вариант Create basic project (Создать базовый проект).

    Screenshot showing the Create basic project selection in Visual Studio Code.

  4. С помощью панели обозревателя найдите папку, созданную на шаге 1. Выберите эту папку. Справа в нижнем углу окна отображается состояние Creating new project (Создание проекта).

Когда завершится создание проекта Solidity, откройте панель обозревателя и просмотрите файлы проекта.

Screenshot showing a new workspace for a Solidity project.

Созданный проект содержит стандартный код для Solidity. В нем вы увидите следующие каталоги:

  • contracts — содержит контракт HelloBlockchain.sol.
  • migrations — содержит код миграции для контракта HelloBlockchain, написанный на JavaScript.
  • test: содержит тест для контракта HelloBlockchain, написанного на JavaScript

Кроме того, здесь есть файлы конфигурации.

  • package.json: определяет сведения о проекте и зависимости
  • truffle-config.json: определяет зависимости и конфигурацию для Truffle

Чтобы сохранить рабочую область, последовательно выберите элементы File (Файл)>Save Workspace As (Сохранить рабочую область как). Присвойте ей имя newSolidityProject.

Теперь вернемся к проекту. Изучение мы начнем с каталога contracts.

Компиляция контрактов

И здесь мы выберем смарт-контракт HelloBlockchain.sol из папки contracts.

  1. На панели обозревателя в папке contracts щелкните имя контракта HelloBlockchain.sol правой кнопкой мыши.

  2. Выберите элемент Build Contracts (Компилировать контракты), чтобы скомпилировать смарт-контракт. В окне в нижнем углу справа отобразится ход компиляции контрактов.

    Screenshot showing the Explorer pane. For the selected contract file, the Build Contracts command is selected.

  3. Щелкните View (Просмотреть) >Output (Выходные данные), чтобы увидеть сведения о скомпилированном контракте. Возможно, в этом окне понадобится выбрать Truffle for VS Code (Truffle для VS Code), чтобы просмотреть выходные данные расширения.

    Screenshot showing output information about the compiled contract. The Truffle menu item is selected.

Развертывание контрактов

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

  1. На панели обозревателя перейдите к папке contracts и щелкните имя контракта HelloBlockchain.sol правой кнопкой мыши.

  2. Выберите Deploy Contracts (Развернуть контракты).

    Screenshot showing the Explorer pane. In the shortcut menu, the Deploy Contracts command is selected.

В окне выходных данных (View (Просмотр)—>Output (Выходные данные)) отображаются сведения о развернутых миграциях и контрактах.

Screenshot showing output information about the deployed migrations and contracts. The Truffle for VS Code menu item is selected.

Здесь вы увидите важные сведения и метаданные для развернутого контракта:

  • адрес контракта;
  • метка времени того блока, в который включена транзакция создания контракта;
  • адрес учетной записи, с помощью которой развернут контракт;
  • остаток на счете этой учетной записи (в единицах эфира) после транзакции. Этот остаток на счете равен 100 ETH (начальное значение по умолчанию) за вычетом общей стоимости;
  • количество и стоимость использованного газа. Термин газ здесь определяет стоимость выполнения транзакции или контракта на платформе блокчейна Ethereum. Можно провести параллель между ним и топливом для автомобиля. Общая стоимость вычисляется как произведение цены газа и использованного объема газа.

    Примечание.

    Цены на газ измеряются в GWEI. Один GWEI обозначает 0,000000001 (одну миллиардную долю) ETH.