Skip to content

Commit 4439c81

Browse files
committed
Add study notes for 2025-08-18
1 parent 4e3b429 commit 4439c81

1 file changed

Lines changed: 179 additions & 0 deletions

File tree

3956ray.md

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,185 @@ timezone: UTC+8
1515
## Notes
1616

1717
<!-- Content_START -->
18+
# 2025-08-18
19+
20+
# 🔑 1. ERC-20(EIP-20)
21+
22+
### 简介
23+
24+
- 以太坊最早的同质化代币标准(2015/2017),定义了代币的基本接口:`balanceOf``transfer``approve``transferFrom` 等。
25+
26+
27+
### 解决的问题
28+
29+
- 在 ERC-20 之前,每个项目自定义代币合约接口,缺乏统一标准,钱包/交易所难以兼容。
30+
31+
- ERC-20 **统一了代币接口** → 任何钱包、DEX、DeFi 协议都能无缝集成。
32+
33+
34+
### 技术栈 / 更新
35+
36+
- **Solidity**:主要语言。
37+
38+
- **OpenZeppelin Contracts** 提供成熟安全的 ERC-20 实现(含 Mintable、Burnable、Snapshot、Pausable 扩展)。
39+
40+
- 技术更新:支持 **EIP-2612 permit** 扩展(避免多次交易),以及 ERC-777 的改进尝试(但 ERC-777 因复杂性和攻击面大,采用度有限)。
41+
42+
43+
44+
45+
# 🎨 2. ERC-721(EIP-721)
46+
47+
### 简介
48+
49+
- 非同质化代币(NFT)标准,定义了 `ownerOf``transferFrom``safeTransferFrom` 等接口。
50+
51+
52+
### 解决的问题
53+
54+
- ERC-20 只能表示同质化资产(如稳定币),无法表示唯一资产。
55+
56+
- ERC-721 解决了 **唯一性、所有权证明、资产上链** 问题(CryptoKitties、艺术品、游戏资产)。
57+
58+
59+
### 技术栈 / 更新
60+
61+
- **Solidity + OpenZeppelin**:ERC721 标准合约。
62+
63+
- **EIP-165**:接口检测标准,用于确认合约是否实现 ERC721。
64+
65+
- 技术更新:出现 **ERC-721A**(优化 gas 的批量 Mint,Azuki 提出)和 **ERC-4907**(租赁扩展)。
66+
67+
- 在 DeFi 场景:NFT 可作为抵押物(NFTfi)、流动性凭证(Uniswap v3 LP NFT)。
68+
69+
70+
71+
72+
# 🎭 3. ERC-1155(EIP-1155)
73+
74+
### 简介
75+
76+
- 多资产标准(Enjin 提出),允许一个合约管理 **同质化代币 + 非同质化代币**
77+
78+
79+
### 解决的问题
80+
81+
- ERC-20 & ERC-721 **各自独立**,管理复杂、部署成本高。
82+
83+
- ERC-1155 解决了:
84+
85+
- 批量转账/管理 → 节省 Gas。
86+
87+
- 同一合约下管理多种资产(游戏资产、DeFi 多资产组合)。
88+
89+
90+
### 技术栈 / 更新
91+
92+
- **Solidity + OpenZeppelin**:ERC1155 实现。
93+
94+
- 技术更新:批量 `safeBatchTransferFrom`,显著降低 Gas。
95+
96+
- 应用:DeFi 衍生品(如 Synthetix 的多资产发行)、GameFi。
97+
98+
99+
100+
101+
# 💰 4. ERC-4626(EIP-4626)
102+
103+
### 简介
104+
105+
- Vault(收益金库)代币标准,用于将任意 ERC-20 资产托管并发行份额代币(Vault Token)。
106+
107+
108+
### 解决的问题
109+
110+
- 在 DeFi 中,Yearn、Aave、Compound 等 Vault/借贷协议的接口不统一。
111+
112+
- ERC-4626 **统一 Vault 的存取/份额逻辑**
113+
114+
- `deposit``withdraw``mint``redeem`
115+
116+
- 提升了协议间的 **可组合性**
117+
118+
119+
### 技术栈 / 更新
120+
121+
- **Solidity + OpenZeppelin ERC4626** 模块化实现。
122+
123+
- 技术更新:
124+
125+
- 更高效的资产与份额转换(`convertToAssets``convertToShares`)。
126+
127+
- 与 Uniswap V3、Aave 等生态组合,提升自动化策略(自动收益聚合)。
128+
129+
130+
131+
132+
# ⚡ 5. EIP-2612(ERC-20 Permit)
133+
134+
### 简介
135+
136+
- ERC-20 的扩展,引入 `permit()`,允许用户通过签名授权,不必提前发送 `approve` 交易。
137+
138+
139+
### 解决的问题
140+
141+
- 传统 ERC-20 流程:`approve``transferFrom`,需要 **两次交易**,增加成本和 UX 不佳。
142+
143+
- EIP-2612:一次链下签名,合约即可直接调用 → 减少一次交易、节省 Gas。
144+
145+
- 被广泛应用于 DEX(Uniswap、Curve)、聚合器(1inch)。
146+
147+
148+
### 技术栈 / 更新
149+
150+
- **Solidity** + **EIP-712(Typed Signature)** 实现。
151+
152+
- **OpenZeppelin ERC20Permit** 库现成可用。
153+
154+
- 技术更新:Uniswap 的 **Permit2** 进一步增强安全性,支持多合约统一授权。
155+
156+
157+
158+
159+
# 🔐 6. EIP-712
160+
161+
### 简介
162+
163+
- 结构化数据签名标准,用于安全地链下签名并链上验证。
164+
165+
166+
### 解决的问题
167+
168+
- 普通签名(EIP-191)仅是字节串,用户难以验证签名含义,容易被钓鱼。
169+
170+
- EIP-712 让用户在钱包(如 MetaMask)看到清晰的待签名数据结构 → **可读性 & 安全性**
171+
172+
173+
### 技术栈 / 更新
174+
175+
- **TypedData hashing + Solidity keccak256**
176+
177+
- 钱包支持:MetaMask、Gnosis Safe。
178+
179+
- 技术更新:DeFi 广泛使用(0x 协议、Permit、LayerZero、跨链消息)。
180+
181+
- 在 DeFi 中结合 **EIP-2612**,几乎成为标配。
182+
183+
184+
185+
186+
# ✅ 差别
187+
188+
|标准|简介|解决的问题|技术栈 / 更新|
189+
|---|---|---|---|
190+
|ERC-20|同质化代币标准|代币接口统一,钱包/DEX 通用|Solidity + OpenZeppelin;扩展:ERC777、EIP-2612|
191+
|ERC-721|NFT 标准|表达唯一资产|Solidity + OpenZeppelin;扩展:ERC721A、ERC4907|
192+
|ERC-1155|多资产标准|批量管理、多资产共存|Solidity + OpenZeppelin;批量转账省 Gas|
193+
|ERC-4626|Vault 标准|统一收益金库接口|Solidity + OpenZeppelin ERC4626;提高可组合性|
194+
|EIP-2612|ERC20 Permit|减少 approve 步骤|Solidity + EIP-712;OpenZeppelin ERC20Permit;Permit2|
195+
|EIP-712|Typed Data 签名|提升签名安全性|Solidity hashing;钱包支持广泛|
196+
18197
# 2025-08-17
19198

20199
# 一、Hardhat和Foundry

0 commit comments

Comments
 (0)