NAC_Blockchain/docs/issues/ISSUE-001-Port-Standardizat...

238 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Issue #001: NAC端口标准化整理
**工单编号**: ISSUE-001
**标题**: NAC专属端口体系标准化与以太坊端口清理
**优先级**: 🔴 高
**状态**: ✅ 已完成
**创建日期**: 2026-02-20
**完成日期**: 2026-02-20
**负责人**: NAC技术团队
---
## 一、工单背景
### 1.1 问题描述
NAC主网上线后发现系统中仍存在以太坊端口使用习惯违背了NAC作为独立RWA原生公链的定位。需要建立NAC专属端口标准体系彻底去除以太坊架构痕迹。
### 1.2 影响范围
- 配置文件中的端口定义
- 服务启动脚本
- 防火墙规则
- API文档
- 监控系统配置
---
## 二、执行内容
### 2.1 制定NAC端口标准
#### 端口段划分原则
- **9500-9599**: 核心服务端口段L1/L2层
- **39000-39999**: 网络协议端口段L0层
- **9090-9099**: 管理和监控服务
#### 分层架构映射
**L0层 - 网络层CSNP协议**
```
39303 CSNP主节点TCP/UDP - Constitutional Structured Network Protocol
39304 CSNP发现服务UDP - 节点发现协议
39305 CSNP同步服务TCP - 区块同步服务
```
**L1层 - 协议层**
```
9545 CBPP节点RPCHTTP - Constitutional Block Production Protocol
9546 CBPP WebSocket - CBPP实时通信
9547 NAC Lens HTTP - NAC RPC Protocol 4.0
9548 NAC Lens WebSocket - NAC Lens实时通信
9549 NVM RPC - NAC Virtual Machine
```
**L2层 - 应用层**
```
9550 NAC API Gateway - 统一API网关对外主入口✅ 运行中
9554 CNNL编译服务 - Constitutional Neural Network Language
9555 Charter编译服务 - Charter智能合约编译器
9556 ACC-20协议服务 - Asset Compliance Code 20
```
**管理服务**
```
9090 Prometheus - 监控指标采集 ✅ 运行中
9091 Prometheus Metrics - NAC节点指标暴露
3000 量子浏览器 - NAC Quantum Explorer ✅ 运行中
3333 Gitea - Git仓库管理 ✅ 运行中
8081 认证服务 - NAC Auth Service ✅ 运行中
```
### 2.2 以太坊端口清理
#### 已清理的以太坊端口
| 以太坊端口 | 原用途 | NAC替代端口 | 清理状态 |
|-----------|--------|------------|---------|
| 8545 | Geth HTTP RPC | 9547 (NAC Lens) | ✅ 已清理 |
| 8546 | Geth WebSocket | 9548 (NAC Lens WS) | ✅ 已清理 |
| 30303 | P2P网络 | 39303 (CSNP) | ✅ 已清理 |
| 8080 | 通用API | 9550 (NAC API) | ✅ 已替换 |
#### 清理验证结果
```bash
# 端口占用检查
✅ 无8545端口占用
✅ 无8546端口占用
✅ 无30303端口占用
# 进程检查
✅ 无Geth进程
✅ 无以太坊相关进程
# 容器检查
✅ 无以太坊Docker容器
# 配置文件检查
✅ 配置文件已更新为NAC端口
✅ 保留.eth_backup备份文件
```
### 2.3 配置文件更新
#### 已更新的配置文件
1. **`/opt/nac/config/api-server.toml`**
- 端口: 9550 (NAC API Gateway)
- 移除了8545/8546引用
- 更新为NAC Lens协议
2. **`/opt/nac/config/mainnet_config.toml`**
- CBPP端口: 9545/9546
- NAC Lens端口: 9547/9548
- NVM端口: 9549
- CSNP端口: 39303
- 移除了所有以太坊端口引用
3. **`/opt/nac/config.toml`**
- 服务器端口: 8080 (内部)
- 对外通过9550暴露
---
## 三、当前运行状态
### 3.1 实际监听端口
```
端口 服务 状态
---- ---- ----
9550 nac-api-server ✅ 运行中
9090 prometheus ✅ 运行中
3000 量子浏览器 ✅ 运行中
3333 gitea ✅ 运行中
8081 nac-auth-service ✅ 运行中
80 nginx ✅ 运行中
443 nginx ✅ 运行中
888 宝塔面板 ✅ 运行中
```
### 3.2 架构说明
NAC采用**API Gateway模式**
- 所有功能通过`nac-api-server`端口9550统一对外提供
- 内部模块CBPP、NVM、CSNP通过进程间通信工作
- 不需要每个模块独立监听网络端口
- 符合现代微服务架构的最佳实践
### 3.3 域名映射
| 域名 | 后端端口 | 服务 |
|------|---------|------|
| api.newassetchain.io | 9550 | NAC API Gateway |
| mainnet-monitor.newassetchain.io | 80/443 | 监控系统 |
| explorer.newassetchain.io | 3000 | 量子浏览器 |
| git.newassetchain.io | 3333 | Gitea |
---
## 四、交付物
### 4.1 文档
-`NAC_Port_Standard.md` - NAC端口标准完整文档
-`nac_port_audit.sh` - 端口审计脚本
- ✅ 本工单文档
### 4.2 配置文件
-`/opt/nac/config/api-server.toml`
-`/opt/nac/config/mainnet_config.toml`
- ✅ 备份文件: `*.eth_backup`
### 4.3 脚本工具
- ✅ 端口审计脚本(自动检查端口占用和配置)
---
## 五、NAC 3.0愿景端口规划
为未来硬件节点预留端口段:
```
9600-9699 USB节点通信 NAC 3.0硬件节点专用
9700-9799 ASIC芯片接口 硬件加速接口
9800-9899 DLL模块接口 动态链接库接口
```
**愿景**: NAC 3.0 - USB节点 = 1个区块硬件级实现
---
## 六、验证清单
- [x] 制定NAC专属端口标准
- [x] 清理所有以太坊端口占用
- [x] 更新所有配置文件
- [x] 验证服务正常运行
- [x] 创建端口审计工具
- [x] 编写完整文档
- [x] 提交到Git仓库
- [x] 创建本工单记录
---
## 七、后续维护
### 7.1 定期检查
- 每月运行`nac_port_audit.sh`检查端口合规性
- 新增服务必须遵循NAC端口标准
- 禁止使用以太坊端口段
### 7.2 文档更新
- 端口标准文档每季度审查一次
- 新增端口需要更新标准文档
- 保持与实际部署同步
### 7.3 培训要求
- 所有开发人员必须学习NAC端口标准
- 代码审查时检查端口使用合规性
- 部署前必须通过端口审计
---
## 八、相关链接
- 端口标准文档: `/opt/nac/docs/standards/NAC_Port_Standard.md`
- 审计脚本: `/opt/nac/nac_port_audit.sh`
- 配置文件目录: `/opt/nac/config/`
- Git仓库: https://git.newassetchain.io
---
**工单状态**: ✅ 已完成
**审核人**: 待审核
**归档日期**: 2026-02-20
---
*本工单记录了NAC主网端口标准化的完整过程为后续开发和运维提供参考。*