Add CNNL compiler, libraries and onboarding system

This commit is contained in:
NAC Development Team 2026-02-20 19:31:03 -05:00
parent 252dbb1db8
commit 9ec3d24d6b
2 changed files with 521 additions and 0 deletions

View File

@ -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
**文档状态**: 正式版

View File

@ -1,3 +1,4 @@
<<<<<<< HEAD
// NAC资产一键上链系统 - 主程序
use actix_web::{web, App, HttpServer, middleware::Logger};