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

5 вещей, которые должна иметь крутая каска:

1. Автоматическая компиляция и развертывание кода в процессе разработки
2. Автоматическое создание и поддержка файла с адресами и данными каждого контракта.
3. Общий пользовательский интерфейс для ваших контрактов, который загружается в горячем режиме по мере изменения кода контракта.
4. Единая команда для развертывания контрактов в тестовой сети и основной сети
5. Единая команда для проверки контрактов.

Теперь давайте взглянем на эту настройку IRL:

[Код этой крутой каски находится здесь.](https://github.com/mistersingh179/badass-hardhat-setup)

Вот шаги для вас, чтобы иметь такую ​​​​же настройку:

1. Клонируйте этот репозиторий и установите зависимости
```
git clone https://github.com/mistersingh179/badass-hardhat-setup
npm i
`` `
2. Затем в окне терминала запустите цепочку каски локально
`npm run chain`
3. Затем в другом окне терминала запустите сценарий развертывания
`npm run deploy `
4. Готово. Теперь ваша цепочка должна работать локально, а код развертываться в ней в режиме реального времени.

Давайте проверим нашу установку.

1. Откройте вашу любимую IDE, и вы должны увидеть файлы `*.sol` в каталоге контрактов.
2. Также должен быть файл `contract-addresses.json, который автоматически создается каждый раз, когда вы меняете код.< br /> 3. Продолжайте, измените код в IDE, и вы должны увидеть в терминале, что он автоматически развертывается, а `contract-addresses.json` был обновлен.
4. Для пользовательского интерфейса перейдите к [sidekick.xyz](https://app.sidekick.xyz), загрузите `contract-addresses.json` и нажмите Продолжить. У вас должен быть пользовательский интерфейс для ваших контрактов.
5. Внесите изменения в свои контракты сейчас, вы должны увидеть, что они также обновляются в пользовательском интерфейсе.

Развертывание в тестовой сети и основной сети

1. Когда вы будете готовы развернуть свой код, запустите npm run deploy-goerli или npm run deploy-mainnet
2. Затем, чтобы проверить контракты, выполните npm run verify-goerli или npm run verify-mainnet.

Написание новых контрактов

1. Чтобы добавить новый контракт, просто добавьте файл `*.sol` в папку с контрактами.
2. Затем добавьте сценарий развертывания для этого контракта в директорию с развертыванием. Скопируйте и вставьте существующие сценарии развертывания и просто измените имя контракта. Таким образом, он менее подвержен ошибкам.
3. Контракт теперь должен быть развернут автоматически.

Это оно. Теперь у вас тоже есть крутая каска. 🥳🎉

К вашему сведению — если вы хотите увидеть, как все это настраивается, просто загляните в файл hardhat.config.js и прочитайте документацию по hardhat и его плагину hardhat-deploy.