7.8 KiB
7.8 KiB
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. 导入模块
// 导入GNACS编码系统
use charter_std::asset::gnacs;
// 导入ACC-20协议
use charter_std::acc::acc20;
// 导入数学工具
use charter_std::utils::math;
2. 使用示例
创建ACC-20资产
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编码
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);
使用安全数学运算
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类型系统
- ✅ Sovereignty主权注解
- ✅ 48位GNACS编码
4. RWA专用特性
- ✅ 合规状态管理(KYC/AML)
- ✅ 账户冻结/解冻
- ✅ 估值管理
- ✅ 所有权历史追踪
- ✅ 链上登记系统
- ✅ 生命周期管理
📚 文档
🔧 编译
使用Charter编译器编译标准库:
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
🧪 测试
# 运行单元测试
cargo test
# 运行集成测试
cargo test --test integration
📈 开发进度
- ✅ 第一阶段: 核心模块(6个,2,861行)
- ✅ 第二阶段: 扩展模块(4个,3,084行)
- ✅ 第三阶段: DeFi和治理(5个,4,004行)
- ✅ 总计: 15个模块,9,949行代码
🤝 贡献
欢迎贡献!请遵循以下原则:
- 严格遵循NAC核心原则
- 使用NAC专用术语
- 保持模块化设计
- 编写完整的文档
- 添加单元测试
📄 许可证
MIT License
📞 联系方式
- 项目: NAC (NewAssetChain)
- 网站: https://newassetchain.org
- 邮箱: dev@newassetchain.org
Charter标准库 - 为RWA资产通证化而生 🚀