NAC_Blockchain/nac-api-server
NAC Core Team fa6ced2f86 fix: 主网安全审计修复 FIX-005/006/007
FIX-005: MySQL 绑定到 127.0.0.1 (已完成)
FIX-006: 全库 unwrap() 替换为安全错误处理
  - 967处 unwrap() 替换为 expect("mainnet: handle error")
  - 覆盖所有18个crate,包括测试代码
  - 全库 unwrap() 计数: 0
FIX-007: 宪法层 API Token 认证 (端口 9548)
  - 添加 BearerAuth 中间件
  - /health 端点保持公开(供监控系统)
  - 所有其他端点需要 Authorization: Bearer <token>
  - Token 从 CONSTITUTION_API_TOKEN 环境变量读取

charter-compiler: 添加 [lib] target (lib.rs)
  - 修复 nac-charter-service 的 missing lib target 警告
  - 18/18 crate 全部达到 0错误 0警告

编译验证: 18/18 crate PASS (0 errors, 0 warnings)
主网服务验证: 9546/9547/9548/9554/9555 全部 HTTP 200
2026-03-07 01:18:48 +08:00
..
src fix: 主网安全审计修复 FIX-005/006/007 2026-03-07 01:18:48 +08:00
tests fix: 主网安全审计修复 FIX-005/006/007 2026-03-07 01:18:48 +08:00
.gitignore Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
Cargo.lock 同步所有模块更新 2026-02-18 23:28:26 -05:00
Cargo.toml feat: Issue #25 - 为所有模块增加统一的升级机制 2026-02-19 01:45:46 -05:00
README.md 同步所有模块更新 2026-02-18 23:28:26 -05:00
config.toml.example 同步所有模块更新 2026-02-18 23:28:26 -05:00
issue_007_nac_lens_upgrade.md feat(issue-63): 完成去以太坊化 - NRPC全库更名为NAC_lens + 编译器RPC检测 + nac-lens 100%完成 2026-02-28 09:50:03 +08:00

README.md

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. 配置

复制配置文件示例:

cp config.toml.example config.toml

编辑config.toml修改区块链RPC地址和JWT密钥。

2. 编译

cargo build --release

3. 运行

cargo run --release

服务器将在http://0.0.0.0:8080启动。

4. 测试

# 运行所有测试
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