Skip to content

Commit 26f9051

Browse files
committed
Add study notes for 2025-08-18
1 parent a2f76de commit 26f9051

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

kuove.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,39 @@ web2转型web3,希望学习测试与开发
1515
## Notes
1616

1717
<!-- Content_START -->
18+
# 2025-08-18
19+
20+
# ERC-20学习
21+
22+
参考 /https://learnblockchain.cn/article/15741
23+
24+
有一些核心合约实现了 ERC-20 标准中指定的行为:
25+
26+
- [`IERC20`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#IERC20):所有 ERC-20 实现都应符合的接口。
27+
- [`IERC20Metadata`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#IERC20Metadata):扩展的 ERC-20 接口,包括 [`name`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20-name--)[`symbol`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20-symbol--) 和 [`decimals`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20-decimals--) 函数。
28+
- [`ERC20`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20):ERC-20 接口的实现,包括 [`name`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20-name--)[`symbol`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20-symbol--) 和 [`decimals`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20-decimals--) 标准接口的可选扩展。
29+
30+
此外,还有多个自定义扩展,包括:
31+
32+
- [`ERC20Permit`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20Permit):代币的 gasless approval(标准化为 ERC-2612)。
33+
- [`ERC20Burnable`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20Burnable):销毁自己的代币。
34+
- [`ERC20Capped`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20Capped):在铸造代币时强制执行总供应量的上限。
35+
- [`ERC20Pausable`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20Pausable):暂停代币转账的能力。
36+
- [`ERC20FlashMint`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20FlashMint):通过临时代币的铸造和销毁对闪电贷的代币级别支持(标准化为 ERC-3156)。
37+
- [`ERC20Votes`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20Votes):对投票和投票委托的支持。
38+
- [`ERC20Wrapper`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20Wrapper):包装器,用于创建由另一个 ERC-20 支持的 ERC-20,具有存款和取款方法。 与 [`ERC20Votes`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20Votes) 结合使用非常有用。
39+
- [`ERC20TemporaryApproval`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20TemporaryApproval):支持仅持续一笔交易的 approval,如 ERC-7674 中定义。
40+
- [`ERC1363`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC1363):支持调用转移或 approval 的目标,从而可以在单笔交易中在接收者上执行代码。
41+
- [`ERC4626`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC4626):代币化金库,管理由资产(另一个 ERC-20)支持的股份(表示为 ERC-20)。
42+
43+
最后,有一些实用程序可以以各种方式与 ERC-20 合约交互:
44+
45+
- [`SafeERC20`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#SafeERC20):接口的包装器,无需处理布尔返回值。
46+
47+
可以在代码库中找到支持 ERC-20 资产的其他实用程序:
48+
49+
- 可以使用 [`VestingWallet`](https://docs.openzeppelin.com/contracts/5.x/api/finance#VestingWallet) 对 ERC-20 代币进行时间锁定(为受益人持有到指定时间)或归属(按照给定的时间表发布)。
50+
1851
# 2025-08-17
1952

2053
## **8.11**

0 commit comments

Comments
 (0)