Читать книгу Ethereum: работа с сетью, смарт-контракты и распределенные приложения - Алексей Бурков - Страница 6
Неделя № 1. Развертывание рабочего окружения («песочницы») для создания и тестирования смарт-контрактов на языке программирования Solidity
Урок 4. Тестирование Node.js и подключение фреймворка Truffle
ОглавлениеАннотация. В данном уроке мы протестируем работу компилятора Node.js, а также установим и протестируем фреймворк Truffle [3].
Теперь протестируем работу компилятора. Запустите VS Code от имени администратора. Для этого на «Рабочем столе» или в меню «Пуск» щёлкните правой кнопкой мыши по значку Visual Studio Code и в появившемся меню выберите пункт «Запуск от имени администратора» (рис. 4.1).
Рис. 1.4.1
В появившемся окне VS Code откроем терминал. Терминал нам будет необходим для ввода различных команд. Например, для управления компилятором и другими инструментами.
Замечание. В качестве альтернативы терминалу в VC Code можно использовать утилиту Windows PowerShell (впрочем, она и запускается внутри VC Code в виде терминала).
Для того чтобы запустить терминал в оконном меню VS Code, выберите пункт Terminal / New Terminal (рис. 1.4.2).
Рис. 1.4.2
Панель терминала откроется в нижней части окна VS Code. Для работы с новым проектом откройте раздел EXPLORER, нажав самую верхнюю кнопку на панели слева (рис. 1.4.2). В итоге окно VS Code будет выглядеть как на рис. 1.4.3.
Рис. 1.4.3
Разверните терминал на всю панель, нажав кнопку «^» в верхнем правом углу панели терминала (рис. 1.4.3). Окно VS Code примет вид как на рис. 1.4.4.
Рис. 1.4.4
Проверим подключение компилятора к терминалу VS Code. Для этого в терминале наберите команду «npm» и нажмите клавишу Enter (рис. 1.4.5).
Если компилятор работает, то мы увидим справку о команде «npm», как на рис. 1.4.5.
Рис. 1.4.5
Теперь установим фреймворк Truffle. Truffle – это набор инструментов и библиотек для создания смарт-контрактов на языке программирования Solidity.
Замечание. Конечно, можно обойтись и без Truffle и все делать вручную. Это сложно и занимает много времени. Поэтому давайте автоматизируем создание смарт-контрактов с использованием инструментов фреймворка Truffle.
Для установки фреймворка в терминале наберите команду «npm install –g truffle» и нажмите клавишу Enter (рис. 1.4.6).
Если все работает, терминал будет выглядеть как на рис. 1.4.6.
Рис. 1.4.6
Теперь для проверки работы компилятора Node.js при помощи фреймворка Truffle мы развернем тестовый проект Solidity и откомпилируем его.
Для начала создадим папку проекта. Для этого в разделе EXPLORER в левой части окна VS Code нажмите синюю кнопку Open Folder (рис. 1.4.6). В окне Open Folder нажмите кнопку «Новая папка». Создайте папку MetaCoin, выделите ее и нажмите кнопку «Выбор папки» (рис. 1.4.7).
Рис. 1.4.7
Для проверки работы нашего окружения – «песочницы» – создадим тестовый проект при помощи Truffle. Для этого в окне терминала наберите команду «truffle unbox metacoin», как на рис. 1.4.8, и нажмите кнопку Enter. После развертывания тестового контракта MetaCoin окно VS Code будет выглядеть как на рис. 1.4.8.
Рис. 4.8
Обратите внимание на изменения в разделе EXPLORER слева (рис. 1.4.8). Здесь появился проект MetaCoin, содержащий папки contracts, migrations и test. В папке contracts расположены наши смарт-контракты. Это файлы с расширением sol. В папке migrations располагаются настройки компиляции смарт-контрактов. Это файлы с расширением js. В папке test расположены файлы для отладки смарт-контрактов. Это файлы с расширением js и sol. Также обратите внимание на файл truffle-config.js, в нем мы прописываем настройки блокчейн-сети, где будем публиковать и запускать наши смарт-контракты, и при помощи данного файла мы будем подключать наш проект к эмулятору.
В заключение для проверки работы компилятора Node.js произведем компиляцию проекта MetaCoin. Для начала компиляции проекта в окне терминала наберите команду «truffle compile» и нажмите кнопку Enter. Окно VS Code примет вид как на рис. 1.4.9.
Рис. 1.4.9
Обратите внимание на то, что в проекте MetaCoin в разделе EXPLORER появилась папка build. В данной папке мы можем увидеть файлы из папки contracts, откомпилированные в формат json. Позднее мы рассмотрим, как опубликовать эти файлы в эмуляторе сети блокчейн. Успешная компиляция тестовых смарт-контрактов в формат json подтверждает функционирование компилятора Node.js.
Теперь перейдем к установке эмулятора сети блокчейн Ganache.