NAC_Blockchain/charter-std/README.md

7.8 KiB
Raw Blame History

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行代码

🤝 贡献

欢迎贡献!请遵循以下原则:

  1. 严格遵循NAC核心原则
  2. 使用NAC专用术语
  3. 保持模块化设计
  4. 编写完整的文档
  5. 添加单元测试

📄 许可证

MIT License


📞 联系方式


Charter标准库 - 为RWA资产通证化而生 🚀