115 ethereum hardhat : фронтенд-проект

— введение

— Фронтенд-приложение

— Как его использовать

— отправить токен

— hardhat Tutorials , hardhat 教程

— Контакт 联系方式

— введение

Если вы хотите быстро начать работу над своим dApp или посмотреть, как выглядит весь проект с фронтендом, вы можете воспользоваться нашим репозиторием boilerplate.

— Что включено

  • Контракт Solidity, который мы использовали в этом руководстве
  • Тесты для всей функциональности контракта
  • Минимальный React-фронтенд для взаимодействия с контрактом с использованием ethers.js

— Контракт Solidity & тесты

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

  • Существует фиксированный общий запас токенов, который не может быть изменен.
  • Весь запас закреплен за адресом, который развертывает контракт.
  • Любой человек может получить токены.
  • Любой, у кого есть хотя бы один токен, может передавать токены.
  • Токен не является делимым. Вы можете передать 1, 2, 3 или 37 токенов, но не 2,5.

— Приложение Frontend

В frontend вы найдете простое приложение, которое позволяет пользователю делать две вещи:

  • Проверить баланс подключенного кошелька
  • Отправить токены на адрес.

Это отдельный проект npm, и он был создан с помощью create-react-app, так что это означает, что он использует webpack и babel.

— Архитектура файлов фронтенда

    • Все остальные компоненты просто рендерят HTML, никакой логики.

— Как использовать

Сначала клонируйте репозиторий, а затем подготовьтесь к развертыванию контракта:

cd hardhat-boilerplate
npm install
npx hardhat node
Войдите в полноэкранный режим Выйти из полноэкранного режима

Здесь мы просто установим зависимости проекта npm, а запустив npx hardhat node, мы запустим экземпляр Hardhat Network, к которому вы сможете подключиться с помощью MetaMask. В другом терминале в той же директории запустите:

npx hardhat --network localhost run scripts/deploy.js
Войти в полноэкранный режим Выйти из полноэкранного режима

Это развернет контракт в Hardhat Network. После этого запустите веб-приложение react:

cd frontend
npm install
npm run start
Войти в полноэкранный режим Выйти из полноэкранного режима

Затем откройте http://127.0.0.1:3000/ в браузере и вы должны увидеть следующее:

Установите вашу сеть в MetaMask на 127.0.0.1:8545.

Теперь нажмите кнопку в веб-приложении. Вы должны увидеть следующее:

— отправить токен

Здесь происходит то, что код фронтенда для отображения текущего баланса кошелька определяет, что баланс 0, поэтому вы не сможете попробовать функцию передачи. Запуск:

npx hardhat --network localhost faucet <your address>
Войти в полноэкранный режим Выйдите из полноэкранного режима

Вы запустите включенную нами пользовательскую задачу Hardhat, которая использует баланс развертывающего аккаунта для отправки 100 MHT и 1 ETH на ваш адрес. Это позволит вам отправить токены на другой адрес.

Код задачи можно посмотреть в /tasks/faucet.js, который требуется из hardhat.config.js.

$ npx hardhat --network localhost faucet 0x0987a41e73e69f60c5071ce3c8f7e730f9a60f90
Transferred 1 ETH and 100 tokens to 0x0987a41e73e69f60c5071ce3c8f7e730f9a60f90
Вход в полноэкранный режим Выход из полноэкранного режима

В терминале, где вы запустили npx hardhat node, вы также должны увидеть:

eth_sendTransaction
  Contract call:       Token#transfer
  Transaction:         0x460526d98b86f7886cd0f218d6618c96d27de7c745462ff8141973253e89b7d4
  From:                0xc783df8a850f42e7f7e57013759c285caa701eb6
  To:                  0x7c2c195cd6d34b8f845992d380aadb2730bb9c6f
  Value:               0 ETH
  Gas used:            37098 of 185490
  Block #8:            0x6b6cd29029b31f30158bfbd12faf2c4ac4263068fd12b6130f5655e70d1bc257

  console.log:
    Transferring from 0xc783df8a850f42e7f7e57013759c285caa701eb6 to 0x0987a41e73e69f60c5071ce3c8f7e730f9a60f90 100 tokens
Войти в полноэкранный режим Выход из полноэкранного режима

Показываю вывод console.log из функции transfer() в нашем контракте, а вот так будет выглядеть веб-приложение после запуска задачи faucet:

Попробуйте поиграть с ним и почитать код. Он полон комментариев, объясняющих происходящее и четко указывающих, какой код является шаблоном Ethereum, а какой — логикой dApp. Это должно облегчить повторное использование репозитория в вашем проекте.

— hardhat Tutorials , hardhat 教程

CN 中文 Github hardhat 教程 : github.com/565ee/hardhat_CN

CN 中文 CSDN hardhat 教程 : blog.csdn.net/wx468116118

EN 英文 Github hardhat Tutorials : github.com/565ee/hardhat_EN

— Контакт 联系方式

Домашняя страница : 565.ee

GitHub : github.com/565ee

Электронная почта : 565.eee@gmail.com

Facebook : facebook.com/565.ee

Twitter : twitter.com/565_eee

Telegram : t.me/ee_565

Оцените статью
devanswers.ru
Добавить комментарий