开发新鲜人的第一个 dApp
Scaffold-eth 是搭建以太坊上 dApp 的模板(Template),也是 dApp 优秀作品的集合,让开发人员可以大大提升开发效率,降低踩坑几率,是 web3.0 dApp 开发者的「入门神器」。
它包括如下组件:
Scafford Eth 基于 Node.js 环境,需要安装node.js
和yarn
。
git clone https://github.com/austintgriffith/scaffold-eth.git
TIPS:很多Terminal 终端都支持分屏操作。
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/
下找到这个合约并修改这个新合约的内容然后重新部署。
TIPS:
如果你对其他的合约项目感兴趣,可以切换仓库的分支部署不同的dapp服务。 可以切换的案例分支 比如nft的案例分支 https://github.com/scaffold-eth/scaffold-eth/tree/simple-nft-example
回到刚才的话题,这时候 我们合约部署了,前端和本地测试链都启动了。 在这里我们先贴一下 我们刚才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?
}
// 存储 purpose 变量
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的默认值是“Building……",也提供了一个setPurpose方法 可以通过这个方法去修改purpose的内容。
现在我们访问前端服务http://localhost:3000。
我们可以通过scaffold-eth这个脚手架快速构架我们的Dapp应用,在hardhat里它不光可以deploy在本地测试网,你可以选择网络地址,可以将你的合约部署在任何的网络里。 至此我们的scaffold-eth快速体验就到这里了。
<div align=center><a href="https://blog.csdn.net/qq_19381989" target="_blank"><img src="https://img-blog.csdnimg.cn/a7acf46695554b99a9483daf8423ab2d.png" width="40%" /></a></div>
简介:微芒社区上贸大 SIG 核心成员。
作者的联系方式:
微信:thf056 qq:1290017556 邮箱:1290017556@qq.com
你也可以通过 <strong><a href="https://github.com/99kies" target="_blank">github</a></strong> | <strong><a href="https://blog.csdn.net/qq_19381989" target="_blank">csdn</a></strong>关注我的动态
Github:https://github.com/99kies
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!