使用 Hardhat 构建全链上 web3 站点 #3
v1xingyue
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hardhat 是个 solidity 开发工具,他提供了一个内部的 EVM 节点运行环境。可以让你离线本地编写测试solidity 代码。同时他还提供了 Nodejs 的编程环境,方便开发者封装合约交互工具。
具体参看 : https://hardhat.org/hardhat-runner/docs/getting-started
本文通过实例介绍整个流程。
部署hardhat 项目
这里选择了 Create a TypeScript project 环境。
项目说明
部署完成后,你的项目代码里会包含几个目录 。
networks 中添加 mumbai 网络配置
需要提前准备好部署账号的私钥,其中包含一些测试 Token .
编写合约
bytes32 public constant resolveMode = "manual";
声明为 manual 模式。注: 只有在 manual 模式中才可以使用mime 输出指定格式的内容,否则,content-type 均为空,浏览器会默认理解为 html
部署,测试
pnpm hardhat compile pnpm hardhat test hardhat run --network mumbai scripts/deploy.ts
部署的时候,需要指定网络。
随意部署一个 页面站点,用来生成网页内容
由于站点本身生成的 index bundle 过大一般 1M 左右,在上传过程中消耗大量的 gas ,所以,建议使用cdn 资源替代。
安装 vite-plugin-cdn2 和 vite-plugin-inspect , 在vite.config.ts 中添加 cdn 配置:
pnpm build 生成 dist 对应文件。
部署并上传到链上
以上过程,封装成了一个简单的 ts 脚本,将 部署合约,上传资源合并到了一期。
脚本如下:
参考项目: https://github.com/v1xingyue/hardhat-tutorial
Beta Was this translation helpful? Give feedback.
All reactions