Руководство по развертыванию смарт-контракта в ваших любимых блокчейнах.

Смарт-контракты повсюду, в основном для NFT, но также и для высокоразвитых децентрализованных финансовых организаций. Вы можете запрограммировать их в Solidity для Ethereum, который также работает с такими решениями, как Polygon.

Я уже написал несколько статей о создании смарт-контрактов для NFT, поэтому не буду вдаваться в подробности созданияконтракта, но покажу вам, как я развертываю их в тестовой и основной сетях, используя Каска.

Давайте начнем

HardHatсреда разработки Ethereum для профессионалов. Он имеет множество инструментов и функций, которые вы могли бы ожидать от Truffle, таких как развертывание, тестирование, компиляция и многое другое. Вы также можете использовать Truffle, но сегодняшняя статья будет о HardHat.

Чтобы настроить новый проект HardHat, вам необходимо установить Node. Вы можете запустить:

npx hardhat

И вам будет предложено два варианта. Образец проекта или пустой проект. Я буду использовать пример проекта, он создаст для нас базовую структуру, подобную следующей:

contracts/
scripts/
test/
hardhat.config.js

В папку contracts положим наш контракт Solidity, в scripts добавим наш deploy-script, а test сегодня не будем использовать.

В hardhat.config.js вы можете настроить цепочку, в которую хотите развернуться. Мы это тоже проверим.

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

В sample-script.js уже есть почти все, что нам нужно. Я всегда немного изменяю его, чтобы его было легче читать.

В строке 4, где у нас есть "YourContractName", вы должны добавить имя контракта Solidity. Не имя файла.

В строке 5 вам нужно установить параметры вашего конструктора, если они у вас есть. У простого контракта NFT, скорее всего, их нет.

В строке 7 мы записываем адрес контракта при его развертывании. Хорошо бы его где-нибудь сохранить, а то можно найти на EtherScan со своего адреса.

Для развертывания запустите узел Hardhat на одном терминале с помощью npx hardhat node , а на другом терминале запустите:

npx hardhat run --network <your-network> scripts/deploy-script.js

Вы можете установить свою сеть в <your-network> , но как вы их настроите? Давайте посмотрим на файл конфигурации.

Конфигурация

Добавить новую сеть для развертывания несложно. Пример проекта по умолчанию не добавляет никакого кода для этого, однако мы можем легко добавить его в объект module.exports в файле hardhat.config.js.

По умолчанию экспортируется только версия Solidity, но мы можем добавить некоторые сети. Давайте пока добавим Polygon Mumbai и основную сеть Polygon.

Я также расширил часть Solidity и пути. Это не обязательно, но дает немного больше информации или помогает, когда вы изменили имена папок. Теперь просто беги

npx hardhat run --network matic_testnet scripts/deploy-script.js

для развертывания в Polygon Mumbai.

Вы можете найти информацию о тестовых сетях Ethereum по всему Интернету с помощью быстрого поиска в Google. И вам может понадобиться добавить ссылку Infura в качестве узла.

Заключение

Развертывание с помощью Hardhat не сложно, вам просто нужно сделать это один раз, чтобы вы знали, как это работает. Это не лучше, чем Truffle или любой другой инструмент разработки, но он один из наиболее часто используемых.

Большое спасибо за прочтение и хорошего дня.

Поддержите меня, поддержав Medium и став участником. Это очень помогает мне, не требует дополнительных затрат, и вы можете читать столько статей на Medium, сколько захотите!

Подпишитесь на меня в Твиттере, чтобы не отставать от меня.

Посмотрите мою последнюю коллекцию NFT здесь.