NAC_Blockchain/protocol/nac-nvm
NAC Admin 8f5ad48c91 feat(constitution): 补全宪法层NVM接口、CBPP验证器、Service主程序和核心原则条款
- nac-nvm: 新增 constitution_interface.rs,NVM执行Charter合约时调用宪法层验证
- nac-cbpp: 新增 constitution_validator.rs,区块生产时实时验证宪法收据(CR)
- nac-constitution-service: 补全 main.rs,NRPC4.0服务入口,监听22050端口
- nac-constitution/clauses: 新增 core_principles.cnnl (A01-A03永恒级核心原则)

设计哲学体现:
- 约法即治法:NVM执行前必须通过宪法验证
- 宪法即规则:CR是区块合法性的唯一证明
- 参与即共识:每个节点验证CR即参与共识

不覆盖任何前期开发者代码,仅追加扩展
2026-03-18 22:18:52 +08:00
..
src feat(constitution): 补全宪法层NVM接口、CBPP验证器、Service主程序和核心原则条款 2026-03-18 22:18:52 +08:00
Cargo.lock Issue #78 #79: protocol/ 和 rwa/ 目录分组重组 2026-03-07 18:12:43 +08:00
Cargo.toml Issue #78 #79: protocol/ 和 rwa/ 目录分组重组 2026-03-07 18:12:43 +08:00
ISSUE_017_COMPLETION.md Issue #78 #79: protocol/ 和 rwa/ 目录分组重组 2026-03-07 18:12:43 +08:00
README.md Issue #78 #79: protocol/ 和 rwa/ 目录分组重组 2026-03-07 18:12:43 +08:00

README.md

NAC虚拟机NVM

NAC原生虚拟机用于执行Charter智能合约。NVM是专为RWAReal World Assets设计的虚拟机内置宪法验证、合规检查和资产操作指令。

特性

核心功能

  • 完整的指令集: 栈操作、算术运算、逻辑运算、内存操作、控制流、RWA专用指令、宪法验证指令、合规检查指令
  • 高级内存管理: 页式内存分配、标记-清除垃圾回收、内存安全检查、性能优化
  • JIT编译器: 热点代码检测、多级优化、内联优化、常量折叠、死代码消除、编译缓存
  • 沙箱安全系统: 权限策略、资源限制、安全监控、审计日志、安全报告生成

NAC专用指令

RWA资产操作

  • AssetCreate: 创建RWA资产
  • AssetTransfer: 转移资产所有权
  • AssetQuery: 查询资产信息
  • AssetBurn: 销毁资产

宪法验证

  • ConstitutionCheck: 检查宪法合规性
  • ClauseVerify: 验证特定条款
  • RightsQuery: 查询权利信息

合规检查

  • KycVerify: KYC身份验证
  • AmlCheck: 反洗钱检查
  • ComplianceReport: 生成合规报告

使用方法

基础执行

```rust use nac_nvm::{Executor, Opcode, Bytecode};

let mut executor = Executor::new(); let bytecode = Bytecode::new(vec![Opcode::Push, Opcode::Push, Opcode::Add]); let result = executor.execute(&bytecode)?; ```

使用JIT编译

```rust use nac_nvm::{JitCompiler, OptimizationLevel};

let mut jit = JitCompiler::new(); jit.set_optimization_level(OptimizationLevel::O2); let compiled = jit.compile(&bytecode)?; let result = compiled.execute()?; ```

使用沙箱

```rust use nac_nvm::{Sandbox, SecurityPolicy, ResourceLimits};

let mut sandbox = Sandbox::with_limits(policy, limits); sandbox.initialize()?; sandbox.pre_execution_check(Opcode::Push)?; let report = sandbox.generate_security_report(); ```

测试

```bash cargo test ```

33个测试全部通过

更新日志

v1.0.0 (2026-02-18)

  • 完整的指令集实现
  • NAC专用RWA指令
  • 高级内存管理
  • JIT编译器
  • 沙箱安全系统
  • 33个测试全部通过

许可证

MIT License