164 lines
4.5 KiB
Markdown
164 lines
4.5 KiB
Markdown
# NAC RWA资产交易所
|
||
|
||
NAC RWA资产交易所是一个专为真实世界资产(Real World Assets)设计的去中心化交易平台,基于NAC公链原生技术栈开发,支持RWA资产的上架、交易、撮合、结算等全流程功能。
|
||
|
||
## 核心特性
|
||
|
||
### 1. 交易引擎
|
||
|
||
- **订单簿模型**:支持买卖单队列,价格-时间优先排序
|
||
- **撮合引擎**:实时撮合算法,支持限价单和市价单
|
||
- **清算结算**:T+0实时结算,资产锁定机制,交割确认流程
|
||
|
||
### 2. 合规功能
|
||
|
||
- **KYC验证**:身份认证、实名验证、风险评级
|
||
- **交易限额**:单笔限额、日限额、月限额控制
|
||
- **黑名单管理**:风险用户管理和监控
|
||
- **合规报告**:交易记录、异常交易、监管数据导出
|
||
|
||
### 3. NAC原生技术
|
||
|
||
- **虚拟机**:NVM (NAC Virtual Machine)
|
||
- **共识协议**:CBPP (Constitutional Byzantine Paxos Protocol)
|
||
- **网络协议**:CSNP (Constitutional Secure Network Protocol)
|
||
- **RPC协议**:NRPC4.0
|
||
- **智能合约**:Charter语言
|
||
- **类型系统**:Address (32字节)、Hash (48字节 SHA3-384)、Signature (96字节)
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
nac-rwa-exchange/
|
||
├── src/
|
||
│ ├── types/ # 核心类型定义
|
||
│ │ └── mod.rs # Address, Hash, Order, Trade等
|
||
│ ├── engine/ # 交易引擎
|
||
│ │ ├── mod.rs # 模块导出
|
||
│ │ ├── orderbook.rs # 订单簿
|
||
│ │ ├── matching.rs # 撮合引擎
|
||
│ │ └── settlement.rs # 清算结算
|
||
│ ├── compliance/ # 合规功能
|
||
│ │ ├── mod.rs # 模块导出
|
||
│ │ ├── kyc.rs # KYC验证
|
||
│ │ └── limits.rs # 交易限额控制
|
||
│ └── lib.rs # 库入口
|
||
├── tests/ # 集成测试
|
||
├── docs/ # 文档
|
||
│ └── ARCHITECTURE.md # 架构设计文档
|
||
├── Cargo.toml # 项目配置
|
||
└── README.md # 本文件
|
||
```
|
||
|
||
## 快速开始
|
||
|
||
### 安装依赖
|
||
|
||
```bash
|
||
# 确保已安装Rust 1.70+
|
||
rustc --version
|
||
|
||
# 构建项目
|
||
cd nac-rwa-exchange
|
||
cargo build
|
||
```
|
||
|
||
### 运行测试
|
||
|
||
```bash
|
||
# 运行所有测试
|
||
cargo test
|
||
|
||
# 运行特定模块测试
|
||
cargo test --lib types
|
||
cargo test --lib engine
|
||
cargo test --lib compliance
|
||
```
|
||
|
||
## 核心模块说明
|
||
|
||
### 类型模块 (types)
|
||
|
||
定义了NAC公链原生类型和交易所核心数据模型:
|
||
|
||
- **NAC原生类型**:`Address` (32字节)、`Hash` (48字节)、`Signature` (96字节)
|
||
- **订单模型**:`Order`、`OrderType`、`PriceType`、`OrderStatus`
|
||
- **资产模型**:`RWAAsset`、`AssetType`、`ComplianceStatus`
|
||
- **交易模型**:`Trade`、`TradeStatus`
|
||
- **用户模型**:`User`、`KYCStatus`、`RiskLevel`
|
||
|
||
### 交易引擎模块 (engine)
|
||
|
||
实现了交易所的核心交易功能:
|
||
|
||
- **订单簿** (`orderbook.rs`):买卖单队列管理、市场深度查询
|
||
- **撮合引擎** (`matching.rs`):价格-时间优先撮合算法、部分成交支持
|
||
- **清算结算** (`settlement.rs`):T+0实时结算、资产锁定、交割确认
|
||
|
||
### 合规功能模块 (compliance)
|
||
|
||
实现了交易所的合规功能:
|
||
|
||
- **KYC验证** (`kyc.rs`):身份认证、实名验证、风险评级、黑名单管理
|
||
- **交易限额** (`limits.rs`):单笔限额、日限额、月限额控制、交易统计
|
||
|
||
## 测试
|
||
|
||
项目包含完整的单元测试,覆盖所有核心功能:
|
||
|
||
```bash
|
||
# 运行所有测试
|
||
cargo test
|
||
|
||
# 查看测试详情
|
||
cargo test -- --nocapture
|
||
|
||
# 运行特定测试
|
||
cargo test test_orderbook_creation
|
||
cargo test test_match_buy_and_sell_full
|
||
cargo test test_settle_trade_success
|
||
```
|
||
|
||
## 性能指标
|
||
|
||
- **订单处理延迟**:< 10ms
|
||
- **撮合引擎TPS**:> 10,000
|
||
- **结算确认时间**:3个区块(约15秒)
|
||
- **KYC验证响应**:< 100ms
|
||
|
||
## 安全特性
|
||
|
||
- 所有订单必须使用用户私钥签名
|
||
- 资产转移通过Charter智能合约执行
|
||
- 资产锁定机制防止双花
|
||
- KYC数据加密存储
|
||
- 完整的审计日志
|
||
|
||
## 开发路线图
|
||
|
||
- [x] 核心类型定义
|
||
- [x] 订单簿实现
|
||
- [x] 撮合引擎实现
|
||
- [x] 清算结算实现
|
||
- [x] KYC验证实现
|
||
- [x] 交易限额控制实现
|
||
- [ ] REST API接口
|
||
- [ ] WebSocket实时推送
|
||
- [ ] 前端交易界面
|
||
- [ ] 数据库持久化
|
||
- [ ] 监控告警系统
|
||
|
||
## 许可证
|
||
|
||
本项目采用 MIT 许可证
|
||
|
||
## 联系方式
|
||
|
||
- 项目主页:https://newassetchain.io
|
||
- 技术文档:https://docs.newassetchain.io
|
||
|
||
---
|
||
|
||
**维护**: NAC开发团队
|
||
**最后更新**: 2026-02-18
|