Введение

Scaffold-eth - это шаблон для Ethereum dApp и комбинация лучших dApps. Scaffold-eth может помочь разработчикам создавать приложения с эффективностью и с меньшим количеством багов. Это отличный ресурс для начинающих разработчиков dApp web3.0.

Леска-ETH имеет следующие компоненты:

  • hardhat: позволяет запустить локальнуюEthereum сеть для развертывания и тестирование смарта контракта
  • React: фронт-энд с заданными компонентами пользовательского интерфейса и функциональными крючками
  • Ant: сборка кастомизированного UI и использование Bootstrap или других библиотек для фронт энда
  • Surge: развертывание и публикация проектов
  • Tenderly / The Graph / Etherscan / Infura / Blocknative ...
  • Поддержка L2 / сайдчейнов

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

Среда

Scafford Eth основан на Node.js, поэтому вам нужно установить node.js и yarn.

Разверните скаффолд в Scaffold-eth.

  1. Получите исходный код скаффолда
git clone https://github.com/austintgriffith/scaffold-eth.git
  1. Откройте 3 терминала.
СОВЕТ. Многие приложения терминала поддерживают функцию разделения экрана.
image-20210924203810255
  1. запустите 👷HardHat цепи в первом терминале:
cd scaffold-eth
yarn install
yarn chain
  1. разверните смарт контракт  /scaffold-eth/packages/hardhat/contracts/ во втором терминале:
cd scaffold-eth
yarn deploy
  1. запустите фронт-энд приложение в третьем терминале:
cd scaffold-eth
yarn start

Образец контракта в главной ветви сохраняет и считывает значения. Вы можете найти контракт в /scaffold-eth/packages/hardhat/contracts/ и изменить его, а затем повторно развернуть.

СОВЕТЫ:

Если вас интересуют другие контракты, вы можете посмотреть другую ветку для развертывания различных служб Dapp.
переключаемые ветви с разными контрактами,
например, nft contract branch https://github.com/scaffold-eth/scaffold-eth/tree/simple-nft-example

Поиграйте с приложением

Вернитесь к предыдущему процессу. Теперь у нас есть наш контракт и запущены клиентская часть и локальная сеть.

Ниже приведен код развернутого контракта.

pragma solidity >=0.8.0 <0.9.0;
//SPDX-License-Identifier: MIT

import "hardhat/console.sol";
//import "@openzeppelin/contracts/access/Ownable.sol"; //https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol

contract YourContract {

  //event SetPurpose(address sender, string purpose);

  string public purpose = "Building Unstoppable Apps!!!";

  constructor() {
    // what should we do on deploy?
  }

  // Storing purpose varible
  function setPurpose(string memory newPurpose) public {
      purpose = newPurpose;
      console.log(msg.sender,"set purpose to",purpose);
      //emit SetPurpose(msg.sender, purpose);
  }
}

Контракт устанавливает значение общедоступной строковой переменной. Значение по умолчанию для цели - «Building ...». Он также предоставляет метод setPurpose для изменения целевой переменной.

Теперь мы открываем нашу фронт-энд страницу в браузере http: // localhost: 3000.

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


Теперь значение purpose успешно изменено, баланс в нашем аккаунте не является целым числом 1 так как мы потратили комиссию за газ при вызове функции.

Заключение

Мы создали наш Dapp с помощью скаффлолда scaffold-eth. Используя hardhat, мы можем развернуть локальную тестовую сеть, переключить сети и развернуть ваши контракты в любых сетях.
Это наше краткое руководство для scaffold-eth.

Об авторах

Автор: Член команды Nonce Geek Studio

Связаться с автором:

WeChat: thf056
QQ: 1290017556
Электронная почта: 1290017556@qq.com

Вы можете подписаться на меня на github.

Github: https://github.com/99kies

Переводчик: