114 lines
2.7 KiB
Markdown
114 lines
2.7 KiB
Markdown
# NAC API服务器
|
||
|
||
NAC公链统一API服务器,为钱包应用和RWA资产交易所提供后端API支持。
|
||
|
||
## 功能特性
|
||
|
||
### 核心功能
|
||
- ✅ **钱包API** - 余额查询、转账、交易历史
|
||
- ✅ **交易所API** - 资产列表、订单管理、市场数据、订单簿
|
||
- ✅ **区块链集成** - 通过RPC连接真实NAC区块链节点
|
||
- ✅ **安全机制** - JWT认证、速率限制、输入验证
|
||
- ✅ **错误处理** - 统一错误格式、详细日志
|
||
- ✅ **配置管理** - TOML配置文件支持
|
||
|
||
### 技术栈
|
||
- **Web框架**: Axum 0.7
|
||
- **异步运行时**: Tokio
|
||
- **序列化**: Serde
|
||
- **HTTP客户端**: Reqwest
|
||
- **认证**: JWT (jsonwebtoken)
|
||
- **验证**: Validator
|
||
- **日志**: Tracing
|
||
|
||
## 快速开始
|
||
|
||
### 1. 配置
|
||
|
||
复制配置文件示例:
|
||
|
||
```bash
|
||
cp config.toml.example config.toml
|
||
```
|
||
|
||
编辑`config.toml`,修改区块链RPC地址和JWT密钥。
|
||
|
||
### 2. 编译
|
||
|
||
```bash
|
||
cargo build --release
|
||
```
|
||
|
||
### 3. 运行
|
||
|
||
```bash
|
||
cargo run --release
|
||
```
|
||
|
||
服务器将在`http://0.0.0.0:8080`启动。
|
||
|
||
### 4. 测试
|
||
|
||
```bash
|
||
# 运行所有测试
|
||
cargo test
|
||
|
||
# 健康检查
|
||
curl http://localhost:8080/health
|
||
```
|
||
|
||
## API文档
|
||
|
||
### 钱包API
|
||
|
||
- `GET /api/wallet/balance/:address` - 查询余额
|
||
- `POST /api/wallet/transfer` - 发起转账
|
||
- `GET /api/wallet/transactions/:address` - 查询交易历史
|
||
- `GET /api/wallet/transaction/:hash` - 查询交易详情
|
||
|
||
### 交易所API
|
||
|
||
- `GET /api/exchange/assets` - 获取资产列表
|
||
- `POST /api/exchange/orders` - 创建订单
|
||
- `GET /api/exchange/orders/:order_id` - 查询订单详情
|
||
- `GET /api/exchange/market/:asset` - 获取市场数据
|
||
- `GET /api/exchange/orderbook/:asset` - 获取订单簿
|
||
- `GET /api/exchange/trades` - 获取最近交易
|
||
|
||
详细API文档请参考代码注释。
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
nac-api-server/
|
||
├── src/
|
||
│ ├── main.rs # 主入口
|
||
│ ├── blockchain/ # 区块链客户端
|
||
│ ├── auth/ # 认证模块
|
||
│ ├── middleware/ # 中间件
|
||
│ ├── error/ # 错误处理
|
||
│ ├── config/ # 配置管理
|
||
│ ├── models/ # 数据模型
|
||
│ ├── wallet.rs # 钱包API
|
||
│ └── exchange.rs # 交易所API
|
||
├── tests/ # 集成测试
|
||
├── Cargo.toml # 依赖配置
|
||
├── config.toml.example # 配置示例
|
||
└── README.md # 本文档
|
||
```
|
||
|
||
## 测试统计
|
||
|
||
- **总测试数**: 20个
|
||
- **测试通过率**: 100%
|
||
- **代码覆盖**: 核心模块全覆盖
|
||
|
||
## 许可证
|
||
|
||
Copyright © 2026 NAC Team. All rights reserved.
|
||
|
||
---
|
||
|
||
**版本**: 1.0.0
|
||
**最后更新**: 2026-02-18
|