Введение
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.
- Получите исходный код скаффолда
git clone https://github.com/austintgriffith/scaffold-eth.git
- Откройте 3 терминала.
СОВЕТ. Многие приложения терминала поддерживают функцию разделения экрана.
- запустите 👷HardHat цепи в первом терминале:
cd scaffold-eth
yarn install
yarn chain
- разверните смарт контракт
/scaffold-eth/packages/hardhat/contracts/
во втором терминале:
cd scaffold-eth
yarn deploy
- запустите фронт-энд приложение в третьем терминале:
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.
- Отправьте тестовые токены для учетных записей.
- Вызов метода контракта.
Поскольку для вызова метода требуется плата за газ, мы должны сначала отправить токены в учетные записи.
Теперь значение purpose успешно изменено, баланс в нашем аккаунте не является целым числом 1 так как мы потратили комиссию за газ при вызове функции.
Заключение
Мы создали наш Dapp с помощью скаффлолда scaffold-eth. Используя hardhat, мы можем развернуть локальную тестовую сеть, переключить сети и развернуть ваши контракты в любых сетях.
Это наше краткое руководство для scaffold-eth.
Об авторах
Автор: Член команды Nonce Geek Studio
Связаться с автором:
WeChat: thf056
QQ: 1290017556
Электронная почта: [email protected]
Вы можете подписаться на меня на github.
Github: https://github.com/99kies
Переводчик:
