Skip to content

Commit d3802c1

Browse files
committed
Add study notes for 2025-08-19
1 parent 1db425e commit d3802c1

1 file changed

Lines changed: 118 additions & 0 deletions

File tree

cigaho.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,124 @@ HKU大三Fintech专业在读, 对blockchain 生态有一定了解, 掌握solidit
1515
## Notes
1616

1717
<!-- Content_START -->
18+
# 2025-08-19
19+
20+
# React + Wagmi + Foundry DApp 开发实战
21+
22+
## 环境准备要点
23+
### 基础工具安装
24+
1. Node.js 需 ≥ v18.0 版本
25+
2. Foundry 安装流程:
26+
- 官方脚本一键安装
27+
- 命令行执行 foundryup 更新
28+
3. 前端依赖核心包:
29+
- wagmi + viem + react-query
30+
31+
## 合约开发流程
32+
### 智能合约创建
33+
- 使用 Solidity 编写计数器合约
34+
- 核心功能:存储计数值 + 递增函数
35+
36+
### 合约测试验证
37+
1. 编写测试脚本验证递增功能
38+
2. 使用 assertEq 断言检查状态变更
39+
3. 测试覆盖率需 >95%
40+
41+
### 测试网部署
42+
1. 通过 Forge 命令行部署
43+
2. 关键参数:
44+
- --rpc-url 指定测试网节点
45+
- --private-key 部署者私钥
46+
3. 获取部署地址记录
47+
48+
## 前端集成方案
49+
### 钱包连接配置
50+
1. 使用 Wagmi 的 createConfig
51+
2. 指定目标链(推荐 Sepolia 测试网)
52+
3. 注入钱包连接器
53+
54+
### 核心功能实现
55+
1. 状态读取:
56+
- useContractRead 获取计数值
57+
- 设置 watch 参数自动更新
58+
2. 写操作:
59+
- useContractWrite 调用增量函数
60+
- 自动处理交易签名
61+
3. UI组件:
62+
- 显示当前计数器
63+
- 按钮触发递增
64+
65+
## 上线部署操作
66+
### 前端部署(Vercel)
67+
1. 安装 Vercel CLI
68+
2. 生产环境部署命令:
69+
- 参数 --prod 表示生产环境
70+
3. 获取在线访问地址
71+
72+
### 合约验证
73+
1. 使用 Forge 验证命令
74+
2. 关键参数:
75+
- 链 ID (Sepolia:11155111)
76+
- Etherscan API Key
77+
3. 在区块浏览器确认验证状态
78+
79+
## 开发实战技巧
80+
### 安全防护要点
81+
1. 环境变量保护:
82+
- 敏感数据存 .env.local
83+
- 禁止提交至版本控制
84+
2. 状态监听:
85+
- useBlockNumber 跟踪最新块
86+
- 实时更新界面数据
87+
88+
### 调试解决方案
89+
1. 连接问题:
90+
- 检查网络切换状态
91+
- 确认 RPC 节点可用
92+
2. 交易失败:
93+
- 调整 Gas 限制参数
94+
- 处理链上冲突
95+
3. 数据同步:
96+
- 添加区块高度依赖
97+
- 强制刷新机制
98+
99+
## 性能优化方案
100+
### Gas 优化方向
101+
1. 合约层:
102+
- 关闭非必要溢出检查
103+
- 存储布局优化
104+
2. 交互层:
105+
- 批量交易处理
106+
- 缓存签名结果
107+
108+
### 用户引导优化
109+
1. 自动链切换:
110+
- 检测用户当前链
111+
- 发现不匹配时自动切换
112+
2. 状态指示器:
113+
- 交易等待提示
114+
- 失败错误说明
115+
116+
## 部署后维护
117+
### 监控预警
118+
1. 合约监控:
119+
- 设置交易异常警报
120+
- 余额不足提醒
121+
2. 日志追踪:
122+
- 关键功能访问记录
123+
- 错误信息分析
124+
125+
### 升级策略
126+
1. 前端:
127+
- Vercel 强制更新
128+
2. 合约:
129+
- 代理模式设计
130+
- 透明升级方案
131+
132+
### 多链扩展
133+
1. 配置多链支持
134+
2. 动态切换 RPC
135+
18136
# 2025-08-18
19137

20138
# DApp 架构与从 0 到部署

0 commit comments

Comments
 (0)