catalog/repos/0x70626a--monad-wingman.md

227 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Monad 区块链开发助手
`区块链` `智能合约` `Monad` `DeFi` `Foundry` `AI辅助开发`
# Monad Wingman
一款以 Agent Skill 形式构建的 Monad 区块链开发全能导师与指南。涵盖使用 Foundry + Scaffold-Monad 工具链进行智能合约开发、DeFi 协议集成,以及针对 Monad 并行执行 EVM 兼容 L1 的安全最佳实践。
## 快速开始
**在 AI 辅助下从零构建 Monad dApp**
```bash
# 1. 创建新项目目录
mkdir my-monad-project
cd my-monad-project
# 2. 安装 Monad Wingman skill
npx skills add monad-wingman
# 3. 用 Cursor或其他支持 AI 的编辑器)打开
cursor .
```
**然后直接告诉 AI 你想构建什么:**
> "帮我在 Monad 上构建一个质押合约"
> "创建一个带买卖功能的代币"
> "构建一个 NFT 系列并部署到 Monad 测试网"
Monad Wingman 将会:
- 搭建 Foundry 或 Scaffold-Monad 项目
- 为 Monad 进行配置prague EVM、--legacy 标志、正确的链 ID
- 提醒你关键的注意事项gas 上限计费、代币精度、重入攻击等)
- 指导安全最佳实践
- 附带正确的验证步骤将合约部署到 Monad 测试网
---
## 什么是 Monad Wingman
Monad Wingman 是一套知识库与提示词系统,帮助 AI 代理协助开发者在 Monad 上进行开发。内容涵盖:
- **智能合约挑战**12 个学习模块NFT、质押、DEX、借贷、预言机等
- **Foundry 工具链**:以 forge 脚本、Anvil 测试、Monad 部署为核心的主要工作流
- **Scaffold-Monad**:含 React/Next.js 前端的全栈 dApp 脚手架
- **DeFi 协议**Monad 上的 Uniswap V3、Euler、Morpho、Kuru、Fastlane、Pyth 使用模式
- **ERC 标准**ERC-20、721、1155、4626 的完整指南
- **Monad 架构**并行执行、MonadBFT、gas 上限计费、储备余额
- **安全性**:关键注意事项(通用 + Monad 专属)、历史漏洞案例、上线前检查清单
## 安装
### 通过 skills.sh 安装(推荐)
```bash
npx skills add monad-wingman
```
兼容 Cursor、Claude Code、Codex、OpenCode 及其他 AI 编程助手。
### 手动安装
**Cursor**
`.cursorrules` 复制到项目根目录,或添加到 Cursor 全局规则中。
**Claude Code**
在项目说明中引用 `CLAUDE.md` 文件。
## 目录结构
```
monad-wingman/
├── skills/
│ └── monad-wingman/ # skills.sh 兼容包
│ ├── SKILL.md # 含 frontmatter 的 Skill 定义
│ ├── AGENTS.md # 完整编译后的指令
│ ├── metadata.json # Skill 元数据
│ ├── README.md # Skill 文档
│ ├── scripts/ # 辅助脚本
│ │ ├── init-project.sh
│ │ └── check-gotchas.sh
│ └── references/ # 核心知识文件
├── knowledge/
│ ├── challenges/ # 12 个智能合约挑战模块
│ ├── protocols/ # DeFi 协议文档Uniswap、Euler、Morpho、Kuru 等)
│ ├── standards/ # ERC 标准
│ ├── foundations/ # Monad 基础、Solidity、预言机、生态系统
│ └── gotchas/ # 安全知识
├── tools/
│ ├── scaffold-eth/ # Scaffold-Monad 文档
│ ├── deployment/ # 部署模式
│ ├── testing/ # 前端测试
│ └── security/ # 安全工具
├── prompts/ # AI 代理提示词(构建、教学、审查、调试)
├── data/
│ └── addresses/ # Monad 上的代币、协议、鲸鱼地址
├── AGENTS.md # skills/monad-wingman/AGENTS.md 的软链接
├── skill.json # Skill 清单
├── .cursorrules # Cursor IDE 集成
└── CLAUDE.md # Claude Code 集成
```
## 核心概念
### 最重要的概念
**链上没有任何事情是自动发生的。**
智能合约无法自动执行。对于任何"需要发生"的函数:
1. 让**任何人**都可以调用(而非仅限管理员)
2. 给调用者一个**理由**(利润、奖励、自身利益)
3. 确保激励**足以**覆盖 gas 费用并有盈余
Wingman 始终会问:*"谁来调用这个函数?他们为何要支付 gas"*
### 关键注意事项
每位 Monad 开发者必须了解:
1. **代币精度各异**USDC = 6 位WBTC = 8 位,大多数 = 18 位
2. **需要 Approve 模式**:合约在调用 transferFrom 前需要授权
3. **重入攻击**:始终使用检查-效果-交互模式 + ReentrancyGuard
4. **预言机操纵**:永远不要使用 DEX 现货价格
5. **无浮点数**使用基点500/10000 = 5%
6. **Gas 上限计费Monad**:按 gas_limit 收费,而非实际用量——请设置严格上限!
7. **储备余额Monad**EIP-7702 委托 EOA 的余额不能低于 10 MON
8. **--legacy 标志Monad**:在 Monad 上使用 forge/cast 时始终加上 `--legacy`
### Monad 链配置
| 网络 | 链 ID | RPC |
|------|-------|-----|
| 主网 | 143 | https://rpc.monad.xyz |
| 测试网(默认) | 10143 | https://testnet-rpc.monad.xyz |
| 本地Anvil | 31337 | http://localhost:8545 |
- **原生代币**MON18 位精度)
- **EVM 版本**prague
- **Solidity**:推荐 0.8.28
- **合约最大体积**128KB
### 智能合约挑战
| 挑战 | 概念 |
|------|------|
| 简单 NFT | ERC-721、铸造、元数据 |
| 去中心化质押 | 协调机制、截止日期、托管 |
| 代币售卖机 | ERC-20 授权模式 |
| 骰子游戏 | 随机数漏洞 |
| DEX | AMM、恒定乘积公式 |
| 预言机 | 价格数据源、防操纵 |
| 借贷 | 抵押机制、清算 |
| 稳定币 | 锚定机制 |
| 预测市场 | 结果结算 |
| ZK 投票 | 隐私保护治理 |
| 多签 | 门限签名 |
| SVG NFT | 链上生成艺术 |
## 使用示例
### 构建模式
- "帮我在 Monad 上构建一个带买卖功能的代币"
- "搭建一个带奖励的质押合约"
- "用 Scaffold-Monad 创建一个 NFT 铸造页面"
### 教学模式
- "Monad 上的并行执行是如何工作的?"
- "解释 AMM 中的恒定乘积公式"
- "借贷协议有哪些安全注意事项?"
### 代码审查模式
- "检查这个提款函数是否存在漏洞"
- "检查这个 vault 合约是否存在通胀攻击风险"
- "审计这个 Monad 上的预言机集成"
### 调试模式
- "为什么我的交易在 Monad 测试网上回滚了?"
- "我遇到了 'transaction type not supported' 错误——怎么解决?"
- "调试这个 gas 不足的问题"
## Monad 上的 DeFi 协议
- **Uniswap V3** —— AMM集中流动性
- **Euler** —— 模块化借贷协议
- **Morpho** —— 借贷优化
- **Kuru** —— Monad 原生订单簿 DEX
- **Fastlane** —— MEV 基础设施
- **Chainlink / Pyth** —— 预言机与价格数据源
- **Kintsu / Magma** —— 流动性质押shMON、gMON
- **LayerZero / Wormhole** —— 跨链桥
## 贡献
添加新内容:
1. 将 Markdown 文件添加到对应目录
2. 遵循现有格式(代码示例、安全说明)
3. 如添加新功能,更新 skill.json
4. 与 AI 代理测试以确保内容清晰
## 资源
- [Monad 文档](https://docs.monad.xyz)
- [Monad LLM 文档](https://docs.monad.xyz/llms.txt)
- [Scaffold-Monad Foundry](https://github.com/monad-developers/scaffold-monad-foundry)
- [MonadVision 浏览器](https://monadvision.com)
- [Monadscan 浏览器](https://monadscan.com)
- [Monad 水龙头](https://faucet.monad.xyz)
- [OpenZeppelin](https://openzeppelin.com/)
## 许可证
MIT 许可证——可自由用于学习和开发。
## 致谢
为 Monad 开发者社区而构建。
派生自 [BuidlGuidl](https://buidlguidl.com/) 的 [Ethereum Wingman](https://github.com/BuidlGuidl/ethereum-wingman)。原版 Ethereum Wingman 提供了基础知识库结构和智能合约挑战体系。Monad Wingman 在此基础上针对 Monad 生态系统进行了适配与扩展,新增了 Monad 专属工具链、注意事项、部署工作流及 DeFi 协议文档。
整合了来自以下来源的知识:
- [Monad 文档](https://docs.monad.xyz)
- [BuidlGuidl / Scaffold-ETH](https://buidlguidl.com/)
- [OpenZeppelin](https://openzeppelin.com/)
- [Chainlink](https://chain.link/)
- [Pyth Network](https://pyth.network/)