diff --git a/docs/ISSUE_026_IMPLEMENTATION_PLAN.md b/docs/ISSUE_026_IMPLEMENTATION_PLAN.md new file mode 100644 index 0000000..33da6db --- /dev/null +++ b/docs/ISSUE_026_IMPLEMENTATION_PLAN.md @@ -0,0 +1,520 @@ +# 工单 #26 实施计划 + +## 工单信息 + +- **工单编号**: #26 +- **工单标题**: NAC公链资产一键上链核心技术白皮书 +- **工单链接**: https://git.newassetchain.io/nacadmin/NAC_Blockchain/issues/26 +- **开始时间**: 2026-02-19 +- **状态**: 进行中 + +--- + +## 实施目标 + +**100%完整实现NAC公链资产一键上链系统**,包括: + +1. ✅ 编排引擎(调用SDK适配器) +2. ✅ 9个核心模块(100%完整功能) +3. ✅ Web管理界面(前后端完整实现) +4. ✅ 独立域名 + SSL证书 +5. ✅ 生产级部署到备份服务器 +6. ✅ 完整的数据库设计 +7. ✅ 完整的测试覆盖 +8. ✅ 完整的文档 + +--- + +## 技术架构 + +### 1. 后端架构 + +``` +┌─────────────────────────────────────────────────────────────┐ +│ 一键上链编排引擎 │ +│ (Rust + Actix-web) │ +└─────────────┬───────────────┬───────────────┬───────────────┘ + ↓ ↓ ↓ +┌─────────────┴──────┐ ┌──────┴──────┐ ┌──────┴─────────────┐ +│ AI合规审批模块 │ │ AI估值模块 │ │ DNA生成模块 │ +│ (调用L4适配器) │ │ (调用L4适配器)│ │ (调用L1适配器) │ +└─────────────┬──────┘ └──────┬──────┘ └──────────┬──────────┘ + ↓ ↓ ↓ +┌─────────────┴───────────────────────────────────┴──────────┐ +│ NAC SDK适配器 (工单#36已完成) │ +│ L0 | L1 | L2 | L3 | L4 | L5 │ +└─────────────────────────────┬───────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────────────┐ +│ NAC公链底层模块 │ +└─────────────────────────────────────────────────────────────┘ +``` + +### 2. 前端架构 + +``` +┌─────────────────────────────────────────────────────────────┐ +│ Web管理界面 │ +│ (React + TypeScript + Tailwind) │ +├─────────────────────────────────────────────────────────────┤ +│ 用户前台 │ 资产管理 │ 进度跟踪 │ 文档下载 │ 统计 │ +├─────────────────────────────────────────────────────────────┤ +│ 系统后台 │ 用户管理 │ 审批管理 │ 配置管理 │ 日志 │ +└─────────────────────────────────────────────────────────────┘ +``` + +### 3. 数据库设计 + +``` +┌─────────────────────────────────────────────────────────────┐ +│ MySQL/TiDB数据库 │ +├─────────────────────────────────────────────────────────────┤ +│ users - 用户表 │ +│ assets - 资产表 │ +│ submissions - 提交记录表 │ +│ compliance - 合规审查表 │ +│ valuations - 估值记录表 │ +│ dna_records - DNA记录表 │ +│ custody - 托管记录表 │ +│ xtzh_minting - XTZH铸造记录表 │ +│ tokens - 代币发行记录表 │ +│ listings - 上线记录表 │ +│ audit_logs - 审计日志表 │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## 9个核心模块详细设计 + +### 模块1: 一键上链编排引擎 + +**职责**: 管理资产上链状态机,协调各模块调用,处理错误和重试 + +**状态定义**: +1. `Pending` - 初始提交 +2. `ComplianceCheck` - 合规审查中 +3. `Valuation` - 估值中 +4. `DNAGeneration` - DNA生成中 +5. `Custody` - 托管对接中 +6. `XTZHMinting` - XTZH铸造中 +7. `TokenIssuance` - 代币发行中 +8. `Listed` - 完成(浏览器、钱包、交易所) +9. `Failed` - 失败(附原因) + +**实现要点**: +- ✅ 完整的状态机实现 +- ✅ 每个状态的完整处理逻辑 +- ✅ 完整的错误处理和重试机制 +- ✅ 完整的日志记录 +- ✅ 完整的通知机制(WebSocket实时推送) + +### 模块2: AI合规审批模块 + +**输入**: +- 资产类型 +- 法律文件哈希 +- 发行方KYC凭证 +- 管辖权信息 + +**处理流程**: +1. 从宪法状态加载合规规则(调用L2适配器) +2. 调用AI模型验证文件真伪(调用L4适配器) +3. 检查KYC等级是否满足要求 +4. 输出合规性评分及证明 + +**输出**: +- 合规审批结果哈希 +- 提交给宪法执行引擎(CEE) + +**实现要点**: +- ✅ 100%完整的合规规则验证 +- ✅ 真实调用L4 AI合规适配器 +- ✅ 完整的KYC等级检查 +- ✅ 完整的错误处理 + +### 模块3: AI估值模块 + +**输入**: +- 资产类型 +- 相关市场数据(预言机提供) +- 历史交易数据 + +**处理流程**: +1. 从宪法状态加载估值模型参数(调用L2适配器) +2. 聚合预言机数据(调用L4适配器) +3. 运行估值模型,输出估值结果(以SDR计价) + +**输出**: +- 估值结果哈希 +- 提交给宪法执行引擎(CEE) + +**实现要点**: +- ✅ 100%完整的估值模型实现 +- ✅ 真实调用L4 AI估值适配器 +- ✅ 完整的预言机数据聚合 +- ✅ 完整的SDR计价转换 + +### 模块4: DNA生成模块 + +**职责**: 根据资产信息生成48位GNACS编码和资产DNA + +**处理流程**: +1. 解析资产类型、风险权重、合规等级等 +2. 调用GNACS编码器生成完整48位编码(调用L1适配器) +3. 创建资产DNA结构(包含基因组、表型、进化历史) + +**输出**: +- GNACS编码 +- DNA哈希 + +**实现要点**: +- ✅ 100%完整的GNACS编码生成 +- ✅ 真实调用L1 GNACS适配器 +- ✅ 完整的DNA结构创建 +- ✅ 完整的加密和哈希计算 + +### 模块5: 宪法执行引擎(CEE) + +**职责**: 为每一步操作签发宪法收据(CR),确保合规 + +**交互流程**: +1. 每个模块调用前,先向CEE申请收据 +2. 模块执行后,将结果提交CEE验证 +3. CEE签发最终收据,附于交易中 + +**实现要点**: +- ✅ 100%完整的收据签发逻辑 +- ✅ 真实调用L2宪政适配器 +- ✅ 完整的验证逻辑 +- ✅ 完整的收据聚合 + +### 模块6: 托管对接模块 + +**职责**: 对接第三方托管机构,生成托管凭证 + +**处理流程**: +1. 从宪法白名单中选择合格托管机构 +2. 通过API发送托管请求(资产DNA、估值、法律文件) +3. 接收托管机构签发的托管凭证(数字签名),上链存证 + +**输出**: +- 托管凭证哈希 + +**实现要点**: +- ✅ 100%完整的托管机构对接 +- ✅ 完整的白名单验证 +- ✅ 完整的API调用和签名验证 +- ✅ 完整的上链存证 + +### 模块7: XTZH铸造模块 + +**职责**: 基于资产估值铸造等值XTZH + +**处理流程**: +1. 根据宪法覆盖率要求(125%),计算需铸造的XTZH数量 +2. 调用XTZH合约mint函数(调用L1适配器) +3. 铸造记录关联资产DNA和托管凭证 + +**实现要点**: +- ✅ 100%完整的XTZH铸造逻辑 +- ✅ 真实调用L1 ACC协议适配器 +- ✅ 完整的覆盖率计算 +- ✅ 完整的关联记录 + +### 模块8: 权益代币发行模块 + +**职责**: 发行代表资产权益的ACC-20/ACC-1400代币 + +**处理流程**: +1. 根据资产类型选择合适模板 +2. 调用Charter合约工厂部署新合约(调用L1适配器) +3. 将代币所有权转移给发行方或投资者 + +**实现要点**: +- ✅ 100%完整的代币发行逻辑 +- ✅ 真实调用L1 NVM适配器 +- ✅ 完整的合约部署 +- ✅ 完整的所有权转移 + +### 模块9: 链上公示模块 + +**职责**: 将资产信息自动推送到区块链浏览器、钱包和交易所 + +**处理流程**: +1. 向区块链浏览器API注册资产(调用L5适配器) +2. 向合作钱包推送代币信息 +3. 向合作交易所提交上币申请 + +**实现要点**: +- ✅ 100%完整的公示逻辑 +- ✅ 真实调用L5应用层适配器 +- ✅ 完整的API对接 +- ✅ 完整的通知机制 + +--- + +## Web管理界面设计 + +### 用户前台功能 + +1. **资产提交页面** + - 资产类型选择 + - 资产信息填写 + - 法律文件上传 + - KYC凭证上传 + +2. **进度跟踪页面** + - 实时状态显示 + - 每个步骤的详细信息 + - 错误提示和重试选项 + +3. **资产管理页面** + - 我的资产列表 + - 资产详情查看 + - TOKEN下载 + - DNA和CODE查看 + +4. **文档下载页面** + - 链上权证下载 + - 托管凭证下载 + - 估值报告下载 + +5. **统计页面** + - 资产统计 + - 代币统计 + - 估值统计 + +### 系统后台功能 + +1. **用户管理** + - 用户列表 + - KYC审核 + - 权限管理 + +2. **审批管理** + - 待审批列表 + - 审批历史 + - 审批规则配置 + +3. **配置管理** + - 宪法规则配置 + - 托管机构白名单 + - 估值模型参数 + +4. **日志管理** + - 操作日志 + - 审计日志 + - 错误日志 + +--- + +## 部署方案 + +### 1. 域名和SSL + +**域名**: onboarding.newassetchain.io(待确认) + +**SSL证书**: 通过宝塔面板申请Let's Encrypt免费证书 + +### 2. 服务器配置 + +**服务器**: 103.96.148.7:22000 + +**部署目录**: `/www/wwwroot/onboarding.newassetchain.io` + +**Nginx配置**: +```nginx +server { + listen 443 ssl http2; + server_name onboarding.newassetchain.io; + + ssl_certificate /path/to/cert.pem; + ssl_certificate_key /path/to/key.pem; + + location / { + root /www/wwwroot/onboarding.newassetchain.io/dist; + try_files $uri $uri/ /index.html; + } + + location /api { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } +} +``` + +### 3. 数据库配置 + +**数据库**: MySQL 8.0 + +**数据库名**: nac_onboarding + +**备份策略**: 每天自动备份到 `/backup/nac_onboarding` + +--- + +## 开发计划 + +### 第1周: 后端开发 + +**Day 1-2**: 编排引擎和状态机 +- 完整的状态机实现 +- 完整的错误处理 +- 完整的日志记录 + +**Day 3-4**: 9个核心模块实现 +- AI合规审批模块 +- AI估值模块 +- DNA生成模块 +- 宪法执行引擎 +- 托管对接模块 +- XTZH铸造模块 +- 权益代币发行模块 +- 链上公示模块 + +**Day 5**: API接口和数据库 +- RESTful API实现 +- WebSocket实时通知 +- 数据库表设计和创建 + +### 第2周: 前端开发 + +**Day 1-2**: 用户前台 +- 资产提交页面 +- 进度跟踪页面 +- 资产管理页面 + +**Day 3-4**: 系统后台 +- 用户管理 +- 审批管理 +- 配置管理 +- 日志管理 + +**Day 5**: 集成和测试 +- 前后端集成 +- 功能测试 +- 性能测试 + +### 第3周: 部署和文档 + +**Day 1-2**: 部署到备份服务器 +- 配置域名和SSL +- 部署前后端 +- 配置数据库 + +**Day 3-4**: 测试和优化 +- 生产环境测试 +- 性能优化 +- 安全加固 + +**Day 5**: 文档和交付 +- API文档 +- 用户手册 +- 部署指南 +- 交付验收 + +--- + +## 质量保证 + +### 1. 代码质量 + +- ✅ 100%完整实现,绝无简化 +- ✅ 完整的错误处理 +- ✅ 完整的日志记录 +- ✅ 完整的注释文档 +- ✅ 代码审查 + +### 2. 测试覆盖 + +- ✅ 单元测试(覆盖率 > 80%) +- ✅ 集成测试 +- ✅ 端到端测试 +- ✅ 性能测试 +- ✅ 安全测试 + +### 3. 文档完整性 + +- ✅ API文档 +- ✅ 用户手册 +- ✅ 部署指南 +- ✅ 运维手册 +- ✅ 故障排查指南 + +--- + +## 验收标准 + +### 功能验收 + +- [ ] 用户可以提交资产上链申请 +- [ ] 系统自动完成9个步骤的处理 +- [ ] 用户可以实时查看进度 +- [ ] 用户可以下载TOKEN、DNA、CODE +- [ ] 用户可以下载链上权证 +- [ ] 系统管理员可以管理用户 +- [ ] 系统管理员可以审批资产 +- [ ] 系统管理员可以配置规则 +- [ ] 系统管理员可以查看日志 + +### 性能验收 + +- [ ] 单个资产上链流程 < 5分钟 +- [ ] 并发处理 > 100个资产 +- [ ] API响应时间 < 500ms +- [ ] 前端加载时间 < 3秒 + +### 安全验收 + +- [ ] HTTPS加密访问 +- [ ] 用户认证和授权 +- [ ] SQL注入防护 +- [ ] XSS攻击防护 +- [ ] CSRF攻击防护 + +### 部署验收 + +- [ ] 独立域名访问 +- [ ] SSL证书有效 +- [ ] 数据库备份正常 +- [ ] 日志记录正常 +- [ ] 监控告警正常 + +--- + +## 交付清单 + +### 代码文件 + +1. 后端代码(Rust) +2. 前端代码(React + TypeScript) +3. 数据库脚本(SQL) +4. 部署脚本(Shell) + +### 文档文件 + +1. API文档 +2. 用户手册 +3. 部署指南 +4. 运维手册 +5. 故障排查指南 + +### 配置文件 + +1. Nginx配置 +2. 数据库配置 +3. 环境变量配置 + +### 账号信息 + +1. 系统管理员账号 +2. 数据库账号 +3. 服务器账号 + +--- + +**制定人**: NAC开发团队 +**制定时间**: 2026-02-19 +**文档状态**: 正式版 diff --git a/nac-onboarding-system/src/main.rs b/nac-onboarding-system/src/main.rs index 4741d96..ed37b8b 100644 --- a/nac-onboarding-system/src/main.rs +++ b/nac-onboarding-system/src/main.rs @@ -1,3 +1,4 @@ +<<<<<<< HEAD // NAC资产一键上链系统 - 主程序 use actix_web::{web, App, HttpServer, middleware::Logger};