Разработка собственной криптовалюты включает несколько этапов. В этом уроке мы настроим среду разработки и тестовую сеть. Написание смарт-контракта, описывающего поведение монеты, будет рассмотрено в следующем уроке. После написания потребуется компиляция (с использованием Hardhat), деплой (выгрузка в общий доступ) и разработка пользовательского интерфейса (веб-интерфейса для взаимодействия с блокчейном и смарт-контрактами, с использованием библиотек типа Web3.js или ethers.js). Тестирование, отладка и маркетинг выходят за рамки этого урока. Мы сосредоточимся на установке необходимого для работы с тестовой сетью.
Настройка среды разработки
Для разработки на Solidity потребуется несколько инструментов:
Установка Node.js и npm
Для запуска JavaScript-кода и управления пакетами необходима платформа Node.js с пакетным менеджером npm. Скачайте Node.js с официального сайта.
Установка Hardhat
Hardhat — современная среда разработки для Ethereum, позволяющая компилировать, деплоить, тестировать и отлаживать смарт-контракты. Она предоставляет множество инструментов и плагинов. Установите её командой npm install —save-dev hardhat (или npm i -D hardhat).
Необходимые инструменты
- Текстовый редактор (рекомендуется Visual Studio Code).
- Установленные Node.js и npm.
Создание проекта
Используем Hardhat для создания проекта.
- Создайте папку для проекта.
- Откройте терминал в этой папке и выполните npm init -y для создания package.json.
- Установите Hardhat (см. выше).
- Запустите npx hardhat. Выберите создание простого шаблонного проекта, укажите папку (Enter для текущей), создайте .gitignore (Enter) и установите дополнительные зависимости (Enter). При ошибках, связанных с правами доступа, следуйте инструкциям в сообщении об ошибке.
Структура проекта
После установки Hardhat проект будет содержать:
- contracts/: Смарт-контракты (Solidity). Содержит шаблонный контракт Greeter.sol. Установите расширение «Solidity» от Nomic Foundation в Visual Studio Code.
- hardhat.config.js: Конфигурация Hardhat.
- ignition/: Файлы для деплоя (JavaScript).
- node_modules/: Установленные библиотеки.
- test/: Тесты смарт-контрактов.
- .gitignore: Для Git.
- package.json: Описание проекта и пакетов.
- package-lock.json: Подробное описание зависимостей.
Компиляция
Выполните npx hardhat compile для компиляции смарт-контрактов. Это создаст папку artifacts с компилированными контрактами.
Подключение к тестовой сети
Для работы с реальными кошельками (например, MetaMask) подключите проект к удаленной сети командой npx hardhat node. Это запустит локальный узел, предоставив URL-адрес и тестовые аккаунты с балансом 10 000 эфиров.
Настройка MetaMask
Для взаимодействия с блокчейном через браузер установите расширение MetaMask (metamask.io). Создайте аккаунт, запомните seed-фразу и импортируйте тестовые аккаунты, сгенерированные Hardhat, используя их private keys. Добавьте собственную тестовую сеть в MetaMask, используя URL-адрес из предыдущего шага.
Мы настроили среду разработки с использованием Hardhat и Node.js, создали проект, скомпилировали смарт-контракт и подключились к тестовой сети через MetaMask. Это базовый каркас для дальнейшей разработки. Сохраните адреса и private keys тестовых аккаунтов.