NAC_Blockchain/docs/reports/NAC-DevTools-README.md

282 lines
6.0 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.

# NAC Protocol Development Toolchain v1.0.0
**NAC原生公链协议开发工具链**
## 📦 包含内容
1. **nac-devtools** - 协议开发工具链
2. **nac-protocols** - 协议实现目录(已生成示例协议)
3. **memory** - 记忆系统(包含所有技术决策和规范)
## 🚀 快速开始
### 1. 解压
```bash
tar -xzf NAC-DevTools-v1.0.0.tar.gz
cd NAC_Clean_Dev
```
### 2. 编译工具链(如需要)
```bash
cd nac-devtools
cargo build --release
```
### 3. 使用工具
```bash
# 查看帮助
./nac-devtools/target/release/nac-devtools --help
# 生成协议
./nac-devtools/target/release/nac-devtools generate protocol \
--id NAC-PROTOCOL-0008 \
--layer 0 \
--name GasProtocol
# 验证代码
./nac-devtools/target/release/nac-devtools validate file \
nac-protocols/src/layer0/randomness_protocol.rs
# 验证整个项目
./nac-devtools/target/release/nac-devtools validate project nac-protocols
# 构建所有协议
./nac-devtools/target/release/nac-devtools build all
# 打包系统
./nac-devtools/target/release/nac-devtools package \
--output NAC-Complete-System.tar.gz
```
## 📚 工具功能
### 1. 协议生成器 (generate)
- **单个协议生成**: `generate protocol`
- **批量生成**: `generate batch`
- **配置文件生成**: `generate from-config`
**特性**
- ✅ 自动使用SHA3-384哈希算法
- ✅ 遵循GNACS 34位编码
- ✅ 强制NAC术语规范
- ✅ 自动生成测试文件
- ✅ 自动更新模块文件
- ✅ 记录到记忆系统
### 2. 代码验证器 (validate)
- **术语验证**: 检查是否使用禁止的以太坊术语
- **架构验证**: 检查是否遵循NAC架构原则
- **哈希验证**: 确保使用SHA3-384而非Blake3
- **编码验证**: 确保使用GNACS 34位编码
### 3. 测试框架 (test)
- **生成测试**: `test generate`
- **运行测试**: `test run`
- **性能测试**: `test benchmark`
- **覆盖率报告**: `test coverage`
### 4. 文档生成器 (doc)
- **API文档**: `doc api`
- **协议文档**: `doc protocol`
- **完整文档**: `doc all`
### 5. 构建系统 (build)
- **编译所有**: `build all`
- **编译层级**: `build layer`
- **清理缓存**: `build clean`
### 6. 打包发布 (package)
```bash
nac-devtools package --output NAC-System.tar.gz
```
## 📋 已生成的示例协议
- **NAC-PROTOCOL-0007**: RandomnessProtocol (Layer 0)
- 文件: `nac-protocols/src/layer0/randomness_protocol.rs`
- 测试: `nac-protocols/tests/layer0/randomness_protocol_test.rs`
## 🎯 开发134个协议的工作流
### 阶段1准备工作
```bash
# 1. 查看记忆系统中的规范
cat memory/principles/terminology.json
cat memory/principles/architecture.json
cat memory/decisions/D002_Hash_Algorithm_SHA3_384.json
# 2. 查看协议清单
cat memory/documents/NAC_Protocol_Stack_v4.0.json
```
### 阶段2生成协议
```bash
# 方式1逐个生成
nac-devtools generate protocol --id NAC-PROTOCOL-0001 --layer 0 --name ConsensusProtocol
nac-devtools generate protocol --id NAC-PROTOCOL-0002 --layer 0 --name NetworkProtocol
# 方式2配置文件批量生成
# 创建 config/protocols.yaml
nac-devtools generate from-config --config config/protocols.yaml
```
### 阶段3验证和测试
```bash
# 验证代码规范
nac-devtools validate project nac-protocols
# 运行测试
nac-devtools test run
# 性能测试
nac-devtools test benchmark --protocol NAC-PROTOCOL-0007
```
### 阶段4构建和打包
```bash
# 编译所有协议
nac-devtools build all
# 打包完整系统
nac-devtools package --output NAC-Complete-System-$(date +%Y%m%d).tar.gz
```
## 🔧 配置文件示例
创建 `config/protocols.yaml`:
```yaml
protocols:
- id: NAC-PROTOCOL-0001
layer: 0
name: ConsensusProtocol
priority: P0
description: CBPP共识协议实现
dependencies: []
estimated_hours: 8
- id: NAC-PROTOCOL-0002
layer: 0
name: NetworkProtocol
priority: P0
description: CSNP网络协议实现
dependencies:
- NAC-PROTOCOL-0001
estimated_hours: 10
```
## 📊 记忆系统
所有生成的协议都会自动记录到记忆系统:
```bash
# 查看已生成的协议
cat memory/generated_protocols.json
# 查看技术决策
ls memory/decisions/
# 查看原则规范
ls memory/principles/
```
## ⚠️ 重要规则
### 1. 哈希算法
-**必须使用**: SHA3-38448字节
-**禁止使用**: Blake3, SHA256, Keccak256
### 2. 术语规范
| ❌ 禁止(以太坊) | ✅ 使用NAC |
|---|---|
| token | asset |
| contract | certificate |
| balance | holdings |
| wallet | vault |
| mint | issue |
| burn | redeem |
### 3. 编码标准
-**GNACS 34位编码**
- ❌ 不使用24字节旧版本
## 📈 开发进度追踪
工具会自动记录开发进度到 `memory/generated_protocols.json`:
```json
{
"generated_protocols": [
{
"id": "NAC-PROTOCOL-0007",
"layer": 0,
"name": "RandomnessProtocol",
"priority": "P0",
"generated_at": "2026-02-09T19:44:00Z"
}
],
"total_count": 1,
"last_updated": "2026-02-09T19:44:00Z"
}
```
## 🎓 最佳实践
1. **工作前必须激活记忆系统**
```bash
cat memory/principles/terminology.json
cat memory/decisions/*.json
```
2. **每次生成后立即验证**
```bash
nac-devtools generate protocol ...
nac-devtools validate file <生成的文件>
```
3. **定期运行测试**
```bash
nac-devtools test run
```
4. **定期打包备份**
```bash
nac-devtools package --output backup-$(date +%Y%m%d).tar.gz
```
## 🔗 相关文档
- NAC协议栈v4.0: `memory/documents/NAC_Protocol_Stack_v4.0.json`
- 核心组件分析: `memory/documents/NAC_Core_Components_Analysis.json`
- 完整开发记录: `memory/decisions/complete_development_record.md`
## 📞 技术支持
如有问题,请查阅记忆系统中的文档,或查看工具的详细帮助:
```bash
nac-devtools --help
nac-devtools generate --help
nac-devtools validate --help
```
---
**NAC原生公链 - 不是任何公链的继承、衍生或扩展**