Skip to content

Commit e06fa10

Browse files
committed
Add study notes for 2025-08-15
1 parent 0fc8e4f commit e06fa10

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

LambertAlpha.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,63 @@ Bloackchian Full-stack dev
1515
## Notes
1616

1717
<!-- Content_START -->
18+
# 2025-08-15
19+
20+
耗時:40min
21+
22+
學習[yield-course示例代碼](https://github.com/crazyyuan/defi-fixed-yield-course/blob/main/contracts/RewardToken.sol)
23+
24+
主要是合約部分以及前端交互的部分。
25+
26+
Solidity的合约还是比Move的可读性更高一些,也更简单一些,很像Javascript。其中,有好多现成的库可以用,大大降低了开发的难度,生态还是很完善呀,如下:
27+
28+
```solidity
29+
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
30+
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
31+
```
32+
33+
就有铸币的方法ERC20( ), mint( )等等,很方便。
34+
35+
这个yield产品合约的精妙之处就在于自动实时更新的RewardToken,关键在于view类型函数几乎不耗Gas地读取链上数据,比如Timestamp,就可以实时计算利息。这是是我之前做Sui链上宠物自动更新hp的一个难点,现在有了处理的灵感了。有时间衰减和事件驱动等机制。
36+
37+
## **前端与链上交互的完整架构**
38+
39+
**技术栈组成**
40+
41+
**核心库:**
42+
43+
- **Wagmi**:React Hooks for Ethereum,提供与以太坊交互的React hooks
44+
- **Viem**:TypeScript接口,用于与以太坊节点通信
45+
- **RainbowKit**:钱包连接UI组件
46+
- **React Query**:数据获取和缓存管理
47+
48+
ABI是智能合约的**接口规范,**定义了:
49+
50+
- 合约有哪些函数
51+
- 函数的参数类型和名称
52+
- 函数的返回值类型
53+
- 函数的状态可变性(view/pure/payable等)
54+
55+
类似于REST API的接口文档
56+
57+
### 核心库架构
58+
59+
前端应用
60+
├── Wagmi (React Hooks for Ethereum)
61+
├── Viem (TypeScript Ethereum Client)
62+
├── RainbowKit (钱包连接UI)
63+
└── React Query (数据管理)
64+
65+
### 区块链数据读取和交易写入
66+
67+
Wagmi + Viem
68+
69+
### 钱包连接
70+
71+
RainbowKit + Wagmi
72+
73+
![螢幕截圖 2025-08-15 下午11.16.02.png](attachment:24e1ae7d-78d8-4da1-89fd-d726b7c2f4e3:螢幕截圖_2025-08-15_下午11.16.02.png)
74+
1875
# 2025-08-14
1976

2077
耗時:40min

0 commit comments

Comments
 (0)