Add CNNL compiler, libraries and onboarding system
This commit is contained in:
parent
252dbb1db8
commit
9ec3d24d6b
|
|
@ -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
|
||||
**文档状态**: 正式版
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
// NAC资产一键上链系统 - 主程序
|
||||
|
||||
use actix_web::{web, App, HttpServer, middleware::Logger};
|
||||
|
|
|
|||
Loading…
Reference in New Issue