252 lines
4.9 KiB
Markdown
252 lines
4.9 KiB
Markdown
# NAC钱包功能完成度检查清单
|
||
|
||
**检查日期**: 2026年2月16日
|
||
**参考文档**: NAC公链钱包核心技术白皮书(9页)
|
||
|
||
---
|
||
|
||
## 一、密钥管理模块
|
||
|
||
### 1.1 密钥生成
|
||
- [ ] Ed25519密钥生成
|
||
- [ ] BLS密钥生成
|
||
- [ ] Dilithium5密钥生成
|
||
- [ ] BIP39助记词生成(12/24词)
|
||
- [ ] BIP44路径派生 (`m/44'/626'/0'/0/index`)
|
||
|
||
### 1.2 地址生成
|
||
- [ ] 32字节结构化地址生成
|
||
- [ ] 地址字段:version, type, kyc_level, region, pubkey_hash
|
||
- [ ] SHA3-384公钥哈希
|
||
- [ ] Bech32编码(nac1前缀)
|
||
|
||
### 1.3 密钥存储
|
||
- [ ] AES-256-GCM加密
|
||
- [ ] PBKDF2密码派生
|
||
- [ ] JSON密钥库文件格式
|
||
- [ ] 硬件钱包支持(计划)
|
||
|
||
**当前状态**: ✅ 基础实现完成(Phase 2已交付)
|
||
|
||
---
|
||
|
||
## 二、账户管理模块
|
||
|
||
### 2.1 账户信息
|
||
- [ ] 余额查询(XTZH/XIC)
|
||
- [ ] 交易历史查询
|
||
- [ ] Nonce管理
|
||
- [ ] 多账户管理
|
||
|
||
### 2.2 账户类型
|
||
- [ ] 个人账户
|
||
- [ ] 企业账户
|
||
- [ ] 合约账户
|
||
- [ ] 系统账户
|
||
|
||
**当前状态**: ⚠️ 部分实现(缺少RPC通信)
|
||
|
||
---
|
||
|
||
## 三、交易构造模块
|
||
|
||
### 3.1 交易类型
|
||
- [ ] XTZH转账
|
||
- [ ] XIC转账
|
||
- [ ] ACC-20代币转账
|
||
- [ ] ACC-1400证券型代币转账
|
||
- [ ] 合约部署
|
||
- [ ] 合约调用
|
||
|
||
### 3.2 交易流程
|
||
- [ ] 交易体构造
|
||
- [ ] 向CEE请求宪法收据(CR)
|
||
- [ ] CR验证
|
||
- [ ] 交易签名
|
||
- [ ] 交易广播
|
||
- [ ] 交易状态查询
|
||
|
||
**当前状态**: ⚠️ 框架完成(缺少CEE通信和RPC)
|
||
|
||
---
|
||
|
||
## 四、宪法收据模块
|
||
|
||
### 4.1 CR请求
|
||
- [ ] 向CEE节点请求CR
|
||
- [ ] 多CEE节点策略
|
||
- [ ] CR缓存机制
|
||
|
||
### 4.2 CR验证
|
||
- [ ] 签名验证
|
||
- [ ] 宪法哈希验证
|
||
- [ ] 有效期验证
|
||
- [ ] Clause mask解析
|
||
|
||
**当前状态**: ❌ 未实现(需要CEE通信)
|
||
|
||
---
|
||
|
||
## 五、资产解析模块
|
||
|
||
### 5.1 GNACS解析
|
||
- [ ] 48位GNACS编码解析
|
||
- [ ] 资产类型识别
|
||
- [ ] 风险等级评估
|
||
- [ ] 合规要求提取
|
||
|
||
### 5.2 代币标准
|
||
- [ ] ACC-20识别
|
||
- [ ] ACC-721识别
|
||
- [ ] ACC-1155识别
|
||
- [ ] ACC-1400识别
|
||
|
||
**当前状态**: ✅ 基础解析完成
|
||
|
||
---
|
||
|
||
## 六、网络通信模块
|
||
|
||
### 6.1 RPC通信
|
||
- [ ] NAC节点RPC客户端
|
||
- [ ] 余额查询
|
||
- [ ] 交易广播
|
||
- [ ] 交易状态查询
|
||
- [ ] 区块查询
|
||
|
||
### 6.2 CEE通信
|
||
- [ ] CEE节点HTTP客户端
|
||
- [ ] CR请求接口
|
||
- [ ] 多节点负载均衡
|
||
- [ ] 节点健康检查
|
||
|
||
**当前状态**: ❌ 未实现
|
||
|
||
---
|
||
|
||
## 七、存储模块
|
||
|
||
### 7.1 密钥库存储
|
||
- [x] AES-256-GCM加密
|
||
- [x] JSON文件格式
|
||
- [ ] 多钱包管理
|
||
- [ ] 备份/恢复
|
||
|
||
### 7.2 配置存储
|
||
- [ ] 网络配置(主网/测试网)
|
||
- [ ] CEE节点列表
|
||
- [ ] RPC节点列表
|
||
- [ ] 用户偏好设置
|
||
|
||
**当前状态**: ⚠️ 部分实现
|
||
|
||
---
|
||
|
||
## 八、CLI工具
|
||
|
||
### 8.1 基础命令
|
||
- [x] create - 创建钱包
|
||
- [ ] import - 导入钱包
|
||
- [ ] export - 导出钱包
|
||
- [ ] list - 列出所有钱包
|
||
|
||
### 8.2 账户命令
|
||
- [ ] balance - 查询余额
|
||
- [ ] history - 查询历史
|
||
- [ ] info - 账户信息
|
||
|
||
### 8.3 交易命令
|
||
- [ ] send - 发送交易
|
||
- [ ] deploy - 部署合约
|
||
- [ ] call - 调用合约
|
||
|
||
### 8.4 资产命令
|
||
- [ ] token-list - 列出代币
|
||
- [ ] token-info - 代币信息
|
||
- [ ] token-send - 发送代币
|
||
|
||
**当前状态**: ⚠️ 基础框架(缺少大部分命令)
|
||
|
||
---
|
||
|
||
## 九、测试
|
||
|
||
### 9.1 单元测试
|
||
- [x] 密钥生成测试
|
||
- [x] 地址生成测试
|
||
- [x] 交易构造测试
|
||
- [x] GNACS解析测试
|
||
- [ ] CR验证测试
|
||
- [ ] RPC通信测试
|
||
|
||
### 9.2 集成测试
|
||
- [x] 钱包创建流程
|
||
- [ ] 转账流程
|
||
- [ ] 合约部署流程
|
||
- [ ] 跨链流程
|
||
|
||
**当前状态**: ⚠️ 部分测试完成
|
||
|
||
---
|
||
|
||
## 完成度统计
|
||
|
||
| 模块 | 完成度 | 状态 |
|
||
|------|--------|------|
|
||
| 密钥管理 | 80% | ✅ 基础完成 |
|
||
| 账户管理 | 40% | ⚠️ 缺少RPC |
|
||
| 交易构造 | 50% | ⚠️ 缺少CEE |
|
||
| 宪法收据 | 10% | ❌ 需要实现 |
|
||
| 资产解析 | 70% | ✅ 基础完成 |
|
||
| 网络通信 | 0% | ❌ 未实现 |
|
||
| 存储模块 | 60% | ⚠️ 部分完成 |
|
||
| CLI工具 | 20% | ⚠️ 基础框架 |
|
||
| 测试 | 50% | ⚠️ 部分测试 |
|
||
|
||
**总体完成度**: **45%**
|
||
|
||
---
|
||
|
||
## 优先级任务
|
||
|
||
### P0 - 必须完成(核心功能)
|
||
1. **网络通信模块** - RPC客户端实现
|
||
2. **CEE通信模块** - CR请求和验证
|
||
3. **CLI完整命令** - balance, send等核心命令
|
||
|
||
### P1 - 重要功能
|
||
4. 多钱包管理
|
||
5. 交易历史查询
|
||
6. 代币管理
|
||
|
||
### P2 - 增强功能
|
||
7. 硬件钱包支持
|
||
8. 配置管理
|
||
9. 更多测试用例
|
||
|
||
---
|
||
|
||
## 白皮书要求对照
|
||
|
||
### ✅ 已完成
|
||
- 三种签名算法支持(Ed25519/BLS/Dilithium5)
|
||
- BIP39助记词
|
||
- 32字节结构化地址
|
||
- AES-256-GCM加密
|
||
- GNACS解析
|
||
|
||
### ⚠️ 部分完成
|
||
- 交易构造(缺少CR集成)
|
||
- 账户管理(缺少RPC)
|
||
- CLI工具(缺少大部分命令)
|
||
|
||
### ❌ 未完成
|
||
- CEE通信
|
||
- RPC通信
|
||
- 完整的交易流程
|
||
- 资产管理界面
|
||
|
||
---
|
||
|
||
**结论**: 钱包核心功能框架已完成,但缺少关键的网络通信模块。需要优先实现RPC和CEE通信,才能完成完整的交易流程。
|