使用scaffold-eth脚手架快速构建 Web3 Dapp 应用


前言

Scaffold-eth 是以太坊上优秀作品的集合,让开发人员可以使用最先进的工具来快速学习和发布基于以太坊的Dapp。

Scaffold-eth不是产品本身,而是其他优秀产品的组合。它允许你快速构建和迭代你的智能合约和前端。它利用:

  • hardhat:用于运行本地网络、部署和测试智能合约。
  • React:使用许多预制组件和hooks来构建前端。
  • Ant:用于构建你的UI,可以轻松更改为Bootstrap或者其他库。
  • Surge:发布你的应用。
  • Tenderly / The Graph / Etherscan / Infura / Blocknative 等等。
  • 支持 L2 / Sidechains。

上手开发

环境要求

在这里插入图片描述

部署 Scaffold-eth 脚手架

  1. 获取项目源代码
git clone https://github.com/austintgriffith/scaffold-eth.git
  1. 在第一个命令行面板里,下载并启动 👷‍ Hardhat chain:
cd scaffold-eth
yarn install
yarn chain

在这里插入图片描述

  1. 在第二个命令行窗口里 启动你的前端应用:
cd scaffold-eth
yarn start

在这里插入图片描述

  1. 在第三个命令行窗口里,部署 /scaffold-eth/packages/hardhat/contracts/ 下的合约。
cd scaffold-eth
yarn deploy

在这里插入图片描述
主分支下的案例合约是一个类似set string的合约,你可以在 /scaffold-eth/packages/hardhat/contracts/下找到这个合约并修改这个新合约的内容然后重新部署。
如果你对其他的合约项目感兴趣,可以切换仓库的分支部署不同的dapp服务。
可以切换的案例分支
比如nft的案例分支 https://github.com/scaffold-eth/scaffold-eth/tree/simple-nft-example

通过部署的React前端应用调用合约方法

回到刚才的话题,这时候 我们合约部署了,前端和本地测试链都启动了。
在这里我们先贴一下 我们刚才deploy的合约内容。

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?
  }

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

合约里提供了一个public 的string purpose,这个purpose的默认值是“Buildingxxxxxx”,也提供了一个setPurpose方法 可以通过这个方法去修改purpose的内容。

现在我们访问前端服务http://localhost:3000
在这里插入图片描述

  1. 给账户申请测试币
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 调用合约方法。
    因为调用方法需要耗费gas,所以一定得申请测试代币。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可见purpose的值成功修改,我们账户由于调用方法的时候消耗了gas费所以这里的余额也不在是1这个整数。

总结

我们可以通过scaffold-eth这个脚手架快速构架我们的Dapp应用,在hardhat里它不光可以deploy在本地测试网,你可以选择网络地址,可以将你的合约部署在任何的网络里。
至此我们的scaffold-eth体验就到这里了。

关于作者

作者的联系方式:

微信:thf056
qq:1290017556
邮箱:1290017556@qq.com

你也可以通过 github | csdn | @新浪微博 关注我的动态

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

99Kies

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值