@@ -15,6 +15,48 @@ timezone: UTC+8
1515## Notes
1616
1717<!-- Content_START -->
18+ # 2025-08-19
19+
20+ 单元测试覆盖
21+ 分支测试:覆盖函数的所有分支(如 if-else、require 条件),确保逻辑健壮。
22+ 模拟攻击:用测试框架模拟重入攻击、权限漏洞,验证合约安全性(如 Foundry 的 vm.prank 模拟恶意调用)。
23+ 集成测试
24+ 多合约交互:测试合约间的调用(如 ERC20 转账 + 质押合约的联动逻辑)。
25+ 链上数据验证:测试部署后的数据持久化(如检查 mapping 状态是否正确更新)。
26+ 代码覆盖率
27+ 工具:Hardhat 配合 solidity-coverage,Foundry 用 forge coverage,确保关键逻辑无遗漏。
28+ 脚本化部署:用 Hardhat/Foundry 编写部署脚本,支持不同网络(主网、测试网、本地节点)。
29+ 示例(Hardhat):
30+ task("deploy", "Deploy contract")
31+ .setAction(async (taskArgs, hre) => {
32+ const MyContract = await hre.ethers.getContractFactory("MyContract");
33+ const myContract = await MyContract.deploy();
34+ await myContract.deployed();
35+ console.log("Deployed to:", myContract.address);
36+ });
37+ 合约验证
38+ 区块链浏览器验证:通过 Hardhat/Foundry 自动提交合约代码到 Etherscan/BSCscan,方便审计。
39+ 示例(Hardhat):
40+ await hre.run("verify: verify ", {
41+ address: myContract.address,
42+ constructorArguments: [ ] ,
43+ });
44+ 升级合约(Proxy Pattern)
45+ 透明代理:学习 OpenZeppelin 的 TransparentUpgradeableProxy,实现合约逻辑升级(数据与逻辑分离)。
46+ UUPS 代理:更轻量的升级方案,需注意初始化逻辑。
47+ ERC 标准实现
48+ ERC20/ERC721/ERC1155:深入理解代币标准,实现自定义逻辑(如手续费、 mint 控制)。
49+ 扩展标准:ERC2771(元交易,支持无 Gas 交易)、ERC1363(支付代币)。
50+ DeFi 基础模块
51+ AMM 算法:实现简单的恒定乘积做市商(如 x* y=k 模型),理解流动性池逻辑。
52+ 借贷逻辑:模拟抵押借贷(如存入资产 → 借出 ETH,处理清算)。
53+ NFT 与链上数据
54+ 链上 SVG:生成动态 NFT(如用 Solidity 拼接 SVG 代码,实现链上艺术)。
55+ On-Chain Metadata:直接在合约中存储 NFT 元数据(无需 IPFS),探索极端案例。
56+ 跨链与 Layer2 基础
57+ 跨链通信:了解 CCIP(Chainlink Cross-Chain Interoperability Protocol)、Hyperlane 等跨链方案,尝试简单消息传递。
58+ Layer2 适配:学习 Optimism/Arbitrum 的基础概念,修改合约适配 Layer2(如处理不同的 gas 模型)。
59+
1860# 2025-08-18
1961
2062复杂数据类型深化
0 commit comments