NAC_Blockchain/README.md

520 lines
17 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 (New Asset Chain) 完整开发包
**版本**: v1.0.0
**日期**: 2026-02-07
**描述**: NAC区块链完整开发包 - 包含所有核心组件的干净源代码
---
## 📦 包含组件
### 1. **NAC_UDM** - NAC统一定义模块
**路径**: `nac-udm/`
**语言**: Rust
**代码量**: 15,739行79个文件
NAC区块链的核心类型定义和协议实现包含完整的三层架构
#### L0 原生层Native Layer- 95行
- `gids/` - 全局身份系统 (Global Identity System)
- `ma_rcm/` - 多资产注册管理 (Multi-Asset Registry & Compliance Manager)
- `aa_pe/` - 资产权限引擎 (Asset Authorization & Permission Engine)
- `ftan/` - 碎片化资产网络 (Fragmented Token Asset Network)
- `uca/` - 统一宪政账户 (Unified Constitutional Account)
#### L1 协议层Protocol Layer- 11,596行
- **ACC协议族** (745行)
- `acc20.rs` - ACC-20基础资产协议
- `acc721.rs` - ACC-721 NFT协议
- `acc1155.rs` - ACC-1155多资产协议
- `acc_rwa.rs` - RWA资产协议
- `acc_xtzh.rs` - XTZH稳定币协议
- `acc_collateral.rs` - 抵押品管理
- `acc_compliance.rs` - 合规管理
- `acc_custody.rs` - 托管服务
- `acc_governance.rs` - 治理协议
- `acc_insurance.rs` - 保险协议
- `acc_redemption.rs` - 赎回协议
- `acc_reserve.rs` - 储备金管理
- `acc_valuation.rs` - 估值协议
- **CBPP共识** (宪政区块生产协议)
- `constitutional_receipt.rs` - 宪法收据(核心!)
- `fluid_block.rs` - 流体区块模型
- `open_production_network.rs` - 开放生产网络
- `gossip_protocol.rs` - 收据验证Gossip协议
- `execution_engine.rs` - 执行引擎
- `nrpc.rs` - NAC Lens协议
- **GNACS编码系统**
- `category.rs` - 资产分类
- `code.rs` - GNACS编码
- `compliance.rs` - 合规等级
- `jurisdiction.rs` - 司法辖区
- `risk.rs` - 风险等级
- **NVM虚拟机接口**
- `opcode.rs` - RWA专用操作码
- `instruction.rs` - 指令集
- `executor.rs` - 执行器
- `gas.rs` - Gas模型
- **碎片化协议**
- `amm.rs` - 自动做市商
- `cross_chain.rs` - 跨链桥接
- `factory.rs` - 工厂合约
- `layered.rs` - 分层碎片化
- **分片系统**
- `cross_shard_transaction.rs` - 跨分片交易
- `shard_governance.rs` - 分片治理
- `parallel_chain_manager.rs` - 并行链管理
- `shard_load_balancer.rs` - 分片负载均衡
#### L2 治理层Governance Layer - 宪法层)- 73行
- `constitutional/` - 宪法框架
- `clauses/` - 条款系统
- `rules/` - 规则引擎
- `ccrn/` - 宪政共识规则网络
- `penalties/` - 惩罚机制
#### L2 网络层Network Layer- 730行
- **CSNP协议** (宪政结构化网络协议)
- `cross_chain_sync.rs` - 跨链同步
**编译**:
```bash
cd nac-udm
cargo build --release
cargo test
```
---
### 2. **Charter编译器** - Charter语言编译器
**路径**: `charter-compiler/`
**语言**: Rust
**代码量**: 2,647行
Charter是NAC的原生智能合约语言专为RWA资产设计。
**组件**:
- `lexer.rs` (369行) - 词法分析器
- `parser.rs` (1,101行) - 语法分析器
- `semantic.rs` (470行) - 语义分析器
- `codegen.rs` (488行) - 代码生成器
- `optimizer.rs` (25行) - 优化器
- `charter.pest` - PEG语法定义
**编译**:
```bash
cd charter-compiler
cargo build --release
cargo test
```
**使用**:
```bash
./target/release/charter-compiler examples/shanghai_office.charter
```
---
### 3. **NVM_v2** - NAC虚拟机
**路径**: `nvm_v2/`
**语言**: Rust
**描述**: NAC原生虚拟机支持RWA专用操作码
**核心模块**:
- L0层实现
- L1层实现
- 执行引擎
- 状态管理
- Gas计量
**编译**:
```bash
cd nvm_v2
cargo build --release
cargo test
```
---
## 📚 文档
**路径**: `docs/`
- `CHARTER_LANGUAGE_SPECIFICATION.md` - Charter语言完整规范
- 语法定义
- 类型系统
- 标准库设计asset/sovereignty/acc/defi/governance/utils
- RWA专用特性
---
## 💡 示例
**路径**: `examples/`
- `shanghai_office.charter` - 上海办公室股权资产示例
---
## 🏗️ 核心设计哲学
### "宪法即共识" - CBPP的核心理念
> "宪法治下,节点产生区块,参与即是共识,交易扩张区块的大小和高度。"
### 宪法收据Constitutional Receipt
任何试图改变链状态的操作必须先获得宪法收据CR
```rust
pub struct ConstitutionalReceipt {
pub receipt_id: Hash,
pub transaction_hash: Hash,
pub constitutional_hash: Hash, // 宪法哈希
pub execution_result_hash: Hash, // AI校验结果
pub timestamp: Timestamp,
pub validity_window: u64,
pub issuer_pubkey: Vec<u8>, // CEE实例签发
pub signature: Signature,
pub validation_results: Vec<ValidationResult>,
}
```
**验证类型**:
- KYC验证
- AML反洗钱
- 资产估值
- 合规审查
- 司法辖区验证
- 宪法条款验证
- 智能合约验证
---
## 📐 NAC类型系统规范
NAC作为原生公链拥有独立的类型系统与以太坊有本质区别
| 类型 | NAC | 以太坊 | 区别 |
|------|-----|--------|------|
| **Address** | 32字节 (256位) | 20字节 (160位) | ✅ **不同** |
| **Hash** | 48字节 (SHA3-384) | 32字节 (Keccak256) | ✅ **不同** |
| **编码** | 支持8组二进制字符串转换 | 仅十六进制 | ✅ **不同** |
📖 **详细文档**:
- [NAC类型系统完整规范](./docs/NAC_TYPE_SYSTEM.md)
- [类型系统快速参考](./docs/TYPE_SYSTEM_QUICK_REF.md)
⚠️ **重要**: 开发NAC应用时请严格遵循NAC类型系统规范不要假设与以太坊的兼容性。
---
## 🔑 核心特性
### NAC不是任何公链的继承或衍生
NAC是完全自主开发的RWA原生公链包括
-**不是** 以太坊/ERC的衍生
-**不使用** EVM虚拟机
-**不使用** Solidity语言
-**不使用** PoW/PoS/DPoS/BFT共识
-**不使用** JSON-RPC协议
-**使用** NVM虚拟机NAC Virtual Machine
-**使用** Charter语言NAC原生智能合约语言
-**使用** CBPP共识Constitutional Block Production Protocol
-**使用** NAC Lens协议NAC RPC Protocol 3.0
-**使用** CSNP网络Constitutional State Network Protocol
-**使用** ACC-20协议Asset Certificate Contract
-**使用** GNACS编码Global NAC Asset Classification System
-**使用** SHA3-384哈希不是SHA256/Keccak256
### 代币体系
- **XIC** - 治理代币Governance Token
- **XTZH** - 资产代币/稳定币Asset Token/Stablecoin
---
## 🛠️ 开发环境要求
### 必需工具
- **Rust** 1.70+ (推荐使用rustup安装)
- **Cargo** (Rust包管理器)
- **Git** (版本控制)
### 安装Rust
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
```
### 验证安装
```bash
rustc --version
cargo --version
```
---
## 📖 快速开始
### 1. 编译所有组件
```bash
# 编译NAC_UDM
cd nac-udm
cargo build --release
cargo test
# 编译Charter编译器
cd ../charter-compiler
cargo build --release
cargo test
# 编译NVM_v2
cd ../nvm_v2
cargo build --release
cargo test
```
### 2. 运行Charter示例
```bash
cd charter-compiler
cargo run --release -- ../examples/shanghai_office.charter
```
### 3. 运行测试
```bash
# 运行所有测试
cd nac-udm && cargo test
cd ../charter-compiler && cargo test
cd ../nvm_v2 && cargo test
```
---
## 📁 完整目录结构
**总模块数**: 48个
**最后更新**: 2026-02-17
```
NAC_Clean_Dev/
├── README.md
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【核心基础设施】(6个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-udm/ # NAC统一定义模块
├── nvm_v2/ # NAC虚拟机 V2.0
├── charter-compiler/ # Charter语言编译器
├── charter-std/ # Charter标准库英文
├── charter-std-zh/ # Charter标准库中文
├── cnnl-compiler/ # CNNL编译器宪法自然语言
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【L0层 - 基础设施层】(2个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-cbpp-l0/ # CBPP共识协议 L0层
├── nac-csnp-l0/ # CSNP网络协议 L0层
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【L1层 - 协议层】(6个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-cbpp-l1/ # CBPP共识协议 L1层
├── nac-csnp-l1/ # CSNP网络协议 L1层
├── nac-acc-1410/ # ACC-1410协议实现
├── nac-ftan/ # FTAN碎片化交易聚合网络
├── nac-uca/ # UCA统一宪法架构
├── nac-ma-rcm/ # MA-RCM多资产风险合规管理
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【治理与合规】(5个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-constitution-clauses/ # 宪法条款系统
├── nac-constitution-state/ # 宪法状态管理
├── nac-constitution-macros/ # 宪法宏系统
├── cargo-constitution/ # Cargo宪法扩展
├── nac-cee/ # CEE宪法执行引擎
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【AI系统】(1个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── xtzh-ai/ # XTZH AI估值与合规系统
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【跨链桥接】(3个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-bridge-contracts/ # 跨链桥合约
├── nac-bridge-ethereum/ # 以太坊桥接
├── nac-cross-chain-bridge/ # 通用跨链桥
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【RPC与API】(3个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-lens/ # NAC Lens 1.0
├── nac-lens/ # NAC Lens
├── nac-api-server/ # API服务器
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【钱包系统】(4个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-wallet-core/ # 钱包核心库
├── nac-wallet-cli/ # 钱包命令行工具
├── nac-vision-wallet/ # Vision图形钱包
├── nac-vision-cli/ # Vision命令行工具
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【开发工具】(7个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-cli/ # NAC命令行工具
├── nac-cli-backup/ # NAC CLI备份
├── nac-sdk/ # NAC开发SDK
├── nac-serde/ # NAC序列化库
├── tools/ # 开发工具集
├── vscode-charter/ # VSCode Charter扩展
├── cnnl-vscode-extension/ # VSCode CNNL扩展
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【部署与监控】(3个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-deploy/ # 部署工具
├── nac-contract-deployer/ # 合约部署器
├── nac-monitor/ # 监控系统
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【应用层】(2个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-rwa-exchange/ # RWA交易所
├── nac-webdev-init/ # Web开发初始化工具
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【测试与集成】(2个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── nac-test/ # 测试框架
├── nac-integration-tests/ # 集成测试
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── 【文档与示例】(3个模块)
├── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├── docs/ # 项目文档
├── examples/ # 示例代码
├── memory/ # 内存管理相关
└── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
└── 【二进制文件】(1个模块)
└── nac_binaries/ # 编译后的二进制文件
```
---
## 🔧 故障排除
### 编译错误
如果遇到编译错误,请确保:
1. Rust版本 >= 1.70
2. 所有依赖已安装
3. 网络连接正常下载crates.io依赖
```bash
rustup update
cargo clean
cargo build
```
### 测试失败
```bash
# 查看详细测试输出
cargo test -- --nocapture
# 运行单个测试
cargo test test_name -- --nocapture
```
---
## 📞 联系方式
**项目**: NewAssetChain (NAC)
**团队**: NewAssetChain Team
**邮箱**: dev@newassetchain.io
**仓库**: https://github.com/newassetchain/nac-udm
---
## 📄 许可证
MIT License
---
## ⚠️ 重要说明
### Charter标准库状态
**当前状态**: Charter标准库的.ch源文件尚未实现
**已有资源**:
- ✅ Charter编译器完整
- ✅ Charter语言规范完整
- ✅ Charter语法定义charter.pest
- ✅ 示例文件shanghai_office.charter
- ❌ 标准库源代码(.ch文件
**标准库设计**见CHARTER_LANGUAGE_SPECIFICATION.md:
- `asset/` - 资产管理模块
- `sovereignty/` - 主权验证模块
- `acc/` - ACC协议模块
- `defi/` - DeFi功能模块
- `governance/` - 治理模块
- `utils/` - 工具函数模块
**下一步**: 根据语言规范实现Charter标准库的.ch源文件
---
## 🎯 开发路线图
- [x] L0原生层实现
- [x] L1协议层实现
- [x] L2治理层实现
- [x] L2网络层CSNP实现
- [x] Charter编译器实现
- [x] NVM_v2虚拟机实现
- [ ] Charter标准库实现
- [ ] 测试网部署
- [ ] 主网上线
---
**最后更新**: 2026-02-07
**版本**: v1.0.0