./contracts
– контракты./common
– часто используемые в разным проектах функции и типы./test
– чистые тесты./gas
– те же тесты, но в них сожно выводить вспомогательную информацию (в частности, смотреть, сколько газа тратится в определённых сценариях)./scripts
– скрипты для деплоя и проведения транзакций для уже развёрнутых контрактов./verify
– просто вспомогательная папка для ручного изменения импортов в контрактах для верификации
Нужные переменные определены в файле ./dist.env
.
Чтобы задать им значения, можно скопировать dist.env
в любой другой файл.
По умолчанию конфиг смотрит файл .env
. Чтобы использовать другой файл нужно задать переменную окружения DOTENV_CONFIG_PATH
или указать нужный файл прямо в hardhat.config.ts
.
Для работы с реальной сетью (основной или тестовой) нужно задать следующие переменные (конкретно эти, как видно по названию, для тестовой сети Goerli):
GOERLI_URL_NET
– адрес узла, через который идут транзакцииGOERLI_API_KEY
– API ключ приложения
Эти значения можно взять, например на сайте Alchemy или Infura.
GOERLI_PRIVATE_KEY
– приватный ключ кошелька (можно взять в метамаске)
Чтобы видеть стоимость транзакций при запуске тестов с gas-reporter, можно так же задать
COINMARKETCAP_API_KEY
– API ключ из coinmarketcap
gas
– запуск тестов из папки./gas
test
– запуск тестов из папки./test
test:gas
– запуск тестов с gas-reporter'омtest:c
– измерение покрытия контрактов тестамиbc
– запуск локальной нодыdeploy
– деплой контрактов в локальную сетьdeploy:test
– деплой контрактов в тестовую сеть (точнее, в Goerli)deploy:mainnet
– деплой контрактов в реальную сетьcompile
– компиляция контрактов и создание ts-файлов для контрактов
Для запуска других скриптов можно использовать подобную команду:
npx hardhat run scripts/send-tx.ts