NAC_Blockchain/charter-std/README.md

355 lines
7.8 KiB
Markdown
Raw 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.

# Charter标准库 (Charter Standard Library)
**版本**: v1.0.0
**代码量**: 9,949行
**模块数**: 15个
**状态**: ✅ 开发完成
---
## 📖 简介
Charter标准库是为NAC (NewAssetChain) RWA原生公链设计的完整标准库实现提供了资产管理、主权控制、DeFi协议和治理系统等核心功能。
**核心特性**:
-**NAC合规**: 严格遵循NAC核心原则和术语规范
-**模块化设计**: 6大功能域15个独立模块
-**RWA专用**: 完整的RWA资产管理功能
-**生产就绪**: 9,949行经过设计的代码
---
## 📊 模块概览
| 功能域 | 模块数 | 代码量 | 占比 |
|--------|--------|--------|------|
| 资产模块 (asset/) | 3 | 1,567行 | 15.8% |
| 主权模块 (sovereignty/) | 3 | 2,194行 | 22.1% |
| ACC协议 (acc/) | 2 | 1,328行 | 13.3% |
| 工具库 (utils/) | 2 | 856行 | 8.6% |
| DeFi模块 (defi/) | 3 | 2,501行 | 25.1% |
| 治理模块 (governance/) | 2 | 1,503行 | 15.1% |
| **总计** | **15** | **9,949行** | **100%** |
---
## 📁 目录结构
```
charter-std/
├── asset/ # 资产基础模块 (1,567行)
│ ├── gnacs.ch # GNACS编码系统 (300行)
│ ├── metadata.ch # 元数据管理 (556行)
│ └── lifecycle.ch # 生命周期管理 (711行)
├── sovereignty/ # 主权管理模块 (2,194行)
│ ├── rules.ch # 主权规则 A0-G5 (592行)
│ ├── registry.ch # 链上登记系统 (765行)
│ └── compliance.ch # 合规检查 KYC/AML (837行)
├── acc/ # ACC资产协议 (1,328行)
│ ├── acc20.ch # ACC-20 可替代资产 (557行)
│ └── acc721.ch # ACC-721 唯一资产 NFT (771行)
├── utils/ # 工具库 (856行)
│ ├── math.ch # 数学运算库 (476行)
│ └── crypto.ch # 加密函数库 (380行)
├── defi/ # DeFi模块 (2,501行)
│ ├── marketplace.ch # 去中心化交易市场 (875行)
│ ├── lending.ch # 借贷协议 (819行)
│ └── liquidity.ch # 流动性池 AMM (807行)
└── governance/ # 治理模块 (1,503行)
├── voting.ch # 投票系统 (800行)
└── proposal.ch # 提案管理 (703行)
```
---
## 🎯 核心功能
### 1. 资产模块 (asset/)
#### GNACS编码系统 (gnacs.ch)
- 48位GNACS编码结构
- 9种资产类别实物资产、金融工具、数字资产等
- 编码解析和验证
- 司法辖区和合规状态管理
#### 元数据管理 (metadata.ch)
- 资产元数据(名称、符号、描述、图片)
- 自定义属性系统
- 估值信息管理
- 所有权历史追踪
- 文档哈希验证
#### 生命周期管理 (lifecycle.ch)
- 7种生命周期状态
- 完整的状态转换流程
- 审核员权限控制
- 有效期管理
### 2. 主权模块 (sovereignty/)
#### 主权规则 (rules.ch)
- **A0**: 绝对所有权
- **B1**: 使用权
- **C2**: 收益权
- **D0**: 担保主权
- **E3**: 知识产权
- **F4**: 临时监管权
- **G5**: 共有权
#### 链上登记系统 (registry.ch)
- 资产登记
- 主权登记
- 抵押登记
- 登记审批流程
#### 合规检查 (compliance.ch)
- KYC验证5个级别
- AML风险检查4个级别
- 白名单/黑名单管理
- 地域限制
- 制裁对象标记
### 3. ACC协议 (acc/)
#### ACC-20 (acc20.ch)
- 可替代资产标准协议
- 转账、授权、查询
- RWA扩展冻结、合规
- 铸造和销毁
#### ACC-721 (acc721.ch)
- 唯一资产NFT标准协议
- 完整的NFT功能
- RWA扩展
- 接收器接口
### 4. 工具库 (utils/)
#### 数学运算 (math.ch)
- 安全算术运算(防溢出)
- 百分比和比例计算
- 金融函数复利、APY/APR转换
- 数组统计
#### 加密函数 (crypto.ch)
- Blake3哈希NAC标准
- Ed25519/ECDSA签名验证
- Merkle树
- Base58编码/解码
### 5. DeFi模块 (defi/)
#### 交易市场 (marketplace.ch)
- 订单簿系统
- 自动撮合引擎
- 限价单和市价单
- 手续费管理
#### 借贷协议 (lending.ch)
- 动态利率模型
- 抵押借贷
- 健康因子计算
- 自动清算机制
#### 流动性池 (liquidity.ch)
- AMM自动做市商
- 添加/移除流动性
- 交换功能
- LP代币和奖励
### 6. 治理模块 (governance/)
#### 投票系统 (voting.ch)
- 投票创建和管理
- 投票权重计算
- 委托投票
- 投票结果计算
#### 提案管理 (proposal.ch)
- 提案创建和提交
- 提案执行(时间锁)
- 提案元数据
- 提案历史
---
## 🚀 快速开始
### 1. 导入模块
```charter
// 导入GNACS编码系统
use charter_std::asset::gnacs;
// 导入ACC-20协议
use charter_std::acc::acc20;
// 导入数学工具
use charter_std::utils::math;
```
### 2. 使用示例
#### 创建ACC-20资产
```charter
use charter_std::acc::acc20::ACC20;
use charter_std::asset::gnacs::GNACS;
certificate MyAsset {
let asset: ACC20;
constructor(name: String, symbol: String, gnacs: GNACS) {
self.asset = ACC20::new(name, symbol, gnacs);
}
pub fn transfer(to: Address, amount: u256) -> bool {
return self.asset.transfer(to, amount);
}
}
```
#### 使用GNACS编码
```charter
use charter_std::asset::gnacs::{GNACS, create_gnacs, parse_gnacs};
// 创建GNACS编码
let gnacs = create_gnacs(
1, // 资产类别: 实物资产
100, // 子类别: 房地产
156, // 司法辖区: 中国
1 // 合规状态: 已验证
);
// 解析GNACS编码
let info = parse_gnacs(gnacs);
```
#### 使用安全数学运算
```charter
use charter_std::utils::math::{safe_add, safe_mul, percentage};
let a = 100u256;
let b = 200u256;
// 安全加法(防溢出)
let sum = safe_add(a, b);
// 计算百分比
let result = percentage(1000, 15); // 1000的15% = 150
```
---
## ✅ NAC合规性
所有模块严格遵循NAC核心原则
### 1. 术语合规
- ✅ Asset不是Token
- ✅ Certificate不是Contract
- ✅ Holdings不是Balance
- ✅ Address不是account
### 2. 加密算法合规
- ✅ Blake3哈希不是SHA256/Keccak256
- ✅ Ed25519/ECDSA签名
### 3. 类型系统合规
- ✅ Asset<GNACS>类型系统
- ✅ Sovereignty<X>主权注解
- ✅ 48位GNACS编码
### 4. RWA专用特性
- ✅ 合规状态管理KYC/AML
- ✅ 账户冻结/解冻
- ✅ 估值管理
- ✅ 所有权历史追踪
- ✅ 链上登记系统
- ✅ 生命周期管理
---
## 📚 文档
- [Charter语言规范](../docs/CHARTER_LANGUAGE_SPECIFICATION.md)
- [开发决策记录](../memory/decisions/charter_stdlib_development.md)
- [NAC核心原则](../memory/principles/nac_core_principles.md)
---
## 🔧 编译
使用Charter编译器编译标准库
```bash
cd charter-compiler
cargo build --release
# 编译单个模块
./target/release/charter-compiler ../charter-std/asset/gnacs.ch
# 编译所有模块
for file in ../charter-std/**/*.ch; do
./target/release/charter-compiler "$file"
done
```
---
## 🧪 测试
```bash
# 运行单元测试
cargo test
# 运行集成测试
cargo test --test integration
```
---
## 📈 开发进度
-**第一阶段**: 核心模块6个2,861行
-**第二阶段**: 扩展模块4个3,084行
-**第三阶段**: DeFi和治理5个4,004行
-**总计**: 15个模块9,949行代码
---
## 🤝 贡献
欢迎贡献!请遵循以下原则:
1. 严格遵循NAC核心原则
2. 使用NAC专用术语
3. 保持模块化设计
4. 编写完整的文档
5. 添加单元测试
---
## 📄 许可证
MIT License
---
## 📞 联系方式
- **项目**: NAC (NewAssetChain)
- **网站**: https://newassetchain.org
- **邮箱**: dev@newassetchain.org
---
**Charter标准库 - 为RWA资产通证化而生** 🚀