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

В этом уроке я буду использовать:

  • PM2
  • Каска
  • Метамаска

Начнем с установки PM2

$ npm install pm2@latest -g
# or
$ yarn global add pm2

PM2 позволяет процессам работать в фоновом режиме. В нашем случае мы будем использовать PM2 для локального запуска сети.

Создайте и запустите наш смарт-контракт Ethereum

Теперь давайте установим Solidity и создадим наш проект Solidity, выполнив следующую команду:

mkdir solidity-project
cd solidity-project
npm init -y
npm install --save-dev hardhat

При появлении запроса создайте проект с образцом и примите все настройки по умолчанию.

Теперь, когда все наши зависимости установлены, давайте запустим сеть локально и развернем наш контракт с помощью двух следующих команд:

pm2 start 'npx hardhat node'
npx hardhat run --network localhost scripts/sample-script.js

Ура! Итак, теперь, когда у нас есть работающая сеть и развернутый смарт-контракт Solidity, похлопайте себя по спине!

Заключительные шаги: добавьте Ethereum в наш кошелек Metamask

При локальном запуске новой сети с помощью Hardhat создается 20 учетных записей. Чтобы найти закрытый ключ, который позволит нам найти наш кошелек Metamask, выполните следующую команду:

pm2 logs "npx hardhat node" --lines 1000

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

Account #19: 0x8626f6940e2eb28930efb4cef49b2d1f2c9c1199 (10000 ETH)
Private Key: 0xdf57089febbacf7ba0bc227dafbffa9fc08a93fdc68e1e42411a14efcf23656e

Скопируйте закрытый ключ (не из этой статьи!) и сохраните его. Вам понадобится закрытый ключ для Metamask.

Шаг 1: измените свою сеть Metamask на локальный хост

Шаг 2: нажмите на кружок в правом верхнем углу, а затем нажмите «Импортировать учетную запись». После этого предоставьте закрытый ключ, который вы скопировали ранее.

Шаг 3: Наслаждайтесь своими 10k Ethereum! Теперь вы можете потратить их на свой смарт-контракт Ethereum локально!

И последнее замечание: если вам не нужен локальный запуск смарт-контракта и сети, вы можете остановиться, выполнив следующую команду: pm2 stop all