Как мне выполнить развертывание в основной сети Ethereum из Hardhat?

#ethereum #solidity

#ethereum #солидность

Вопрос:

Итак, я следил за несколькими руководствами по началу разработки смарт-контрактов в Ethereum и прочитал много-много страниц о безопасности и разработке в OpenZeppelin. Как именно я могу фактически развернуть свой проект в основной сети Ethereum, используя Hardhat? Я могу найти информацию только о развертывании в тестовых сетях!

Ответ №1:

Разверните networks раздел конфигурационного файла.

Пример конфигурации:

 mainnet: {
    url: "https://mainnet.infura.io/v3/<your_infura_key>", // or any other JSON-RPC provider
    accounts: [<your_private_key>]
}
 

Вместо прямого указания закрытого ключа вы также можете указать mnemonic фразу.

Более подробную информацию см. В документации.

Комментарии:

1. Насколько надежным должен быть поставщик JSON-RPC?

2. Нет ли у Hardhat способа напрямую отправить транзакцию в блокчейн?

3. @LukeHutchison Вам не нужно доверять поставщику, поскольку транзакция подписывается в вашем приложении (с использованием закрытого ключа), а фактический закрытый ключ никогда не отправляется поставщику (при условии, что вы доверяете / проверяете Hardhat и все другие зависимости, что они не отправляют закрытый ключ в другое место)… Это самый прямой способ отправки транзакции, поскольку ее необходимо транслировать с одного из узлов сети P2P (Ethereum) на остальную часть сети. Если вы не хотите / не можете полагаться на сторонний узел, вы также можете запустить свой собственный узел .