@@ -15,6 +15,53 @@ timezone: UTC+8
1515## Notes
1616
1717<!-- Content_START -->
18+ # 2025-08-14
19+
20+ 一、Gas 优化技巧学习与实践
21+ (一)常见 Gas 优化技巧
22+ 数据类型优化:尽量使用较小的数据类型,例如在不需要大数值时,使用 uint8 而非 uint256,减少存储和计算的 Gas 消耗。
23+ 存储优化:将频繁访问的状态变量设为 memory 类型,减少对 storage 的读取;合理安排状态变量的存储顺序,利用存储槽的打包机制,减少存储槽的使用数量。
24+ 函数优化:避免在循环中进行复杂的操作和外部调用;将重复的代码逻辑提取为内部函数,减少代码冗余。
25+ 修饰符与可见性:合理使用函数可见性修饰符(如 private、internal),限制函数的访问范围,降低 Gas 消耗;谨慎使用复杂的修饰符,避免增加额外的 Gas 成本。
26+ (二)Gas 消耗对比记录
27+ 优化前:以一个简单的代币转账合约为例,未进行任何优化时,一次转账操作的 Gas 消耗约为 45000。
28+ 优化后:
29+ 使用 uint128 代替 uint256 存储余额,Gas 消耗降至约 43000。
30+ 调整状态变量存储顺序,使多个变量打包到一个存储槽,Gas 消耗进一步降至约 41000。
31+ 优化函数逻辑,减少不必要的计算,Gas 消耗最终降至约 39000。
32+ 二、部署 DApp 到 Vercel 和 Sepolia 测试网
33+ (一)部署到 Vercel
34+ 确保项目已初始化 Git 仓库,并关联到 GitHub 等代码托管平台。
35+ 登录 Vercel 账号,导入项目仓库。
36+ 配置项目参数,如构建命令、输出目录等(对于前端项目,通常构建命令为 npm run build,输出目录为 build)。
37+ 点击部署按钮,Vercel 会自动构建并部署项目,部署完成后可获得一个访问域名。
38+ (二)部署到 Sepolia 测试网
39+ 准备工作:获取 Sepolia 测试网的 ETH(可通过测试网 faucet 领取);配置 Hardhat 网络参数,添加 Sepolia 测试网的节点信息(如 Alchemy 或 Infura 提供的 API 密钥)。
40+ 在项目根目录下运行部署命令:npx hardhat run scripts/deploy.js --network sepolia。
41+ 部署完成后,记录合约地址等信息,以便在前端项目中进行调用。
42+ 三、编写项目文档和使用说明
43+ 技术栈:前端框架(React)、智能合约开发框架(Hardhat)、区块链网络(Sepolia 测试网)
44+ 合约说明:详细描述智能合约的功能、主要函数、事件和状态变量。
45+ 前端架构:说明前端项目的目录结构、组件设计和状态管理方式。
46+ (二)使用说明内容
47+ 环境要求:浏览器版本、需要安装 MetaMask 钱包插件。
48+ 操作步骤:
49+ 如何连接钱包到 DApp。
50+ 如何进行核心功能操作(如转账、 mint 代币等)。
51+ 四、可选:DApp 运营方案设计(非 Demo 类型)
52+ (一)目标用户定位
53+ 明确 DApp 的目标用户群体,如加密货币爱好者、NFT 收藏者、去中心化金融参与者等。
54+ (二)推广策略
55+ 社交媒体推广:在 Twitter、Discord、Telegram 等区块链相关社群发布 DApp 的介绍和使用教程,吸引用户关注。
56+ 合作伙伴合作:与其他区块链项目、钱包厂商或媒体合作,进行联合推广,扩大影响力。
57+ 激励活动:开展早期用户激励活动,如赠送测试网代币、NFT 等,吸引用户体验 DApp。
58+ (三)用户留存与活跃度提升
59+ 功能迭代:根据用户反馈,持续优化 DApp 的功能和用户体验,增加用户粘性。
60+ 社区建设:建立用户社区,鼓励用户交流和分享,组织线上线下活动,增强用户的参与感。
61+ 经济模型设计:设计合理的经济模型,激励用户积极参与 DApp 的生态建设,如通过使用 DApp 获得奖励等。
62+
63+ 这个是我的大致规划,但是只完成到部署测试网
64+
1865# 2025-08-13
1966
2067一、智能合约安全基础学习
0 commit comments