跳到主要内容
为什么是 UTXO Compiler

让「可验证」重新成为结算层的产品。

用一段开发者熟悉的 Python-like 写法,换回一份节点能独立核对的确定性。

§ I

一、UTXO 模型与「状态即代码」

比特币用 UTXO(Unspent Transaction Output)模型:每笔交易消耗旧的 UTXO、产生新的 UTXO。每个 UTXO 携带「聪」与「锁定脚本」。要花费它,必须提交解锁脚本,与锁定脚本联合执行返回真。

写智能合约,本质上就是把自定义逻辑写进锁定脚本里——不只是签名校验,还可以是时间、数据格式、多方条件等任何可编程约束。

§ II

二、BVM 是一台基于栈的状态机

BVM(Bitcoin Virtual Machine)没有堆,没有全局变量,只有主栈与副栈和一组操作码。直接写 Opcode 容易出错;UTXO_Compiler 把高级 .ct 翻译为 BVM 字节码,让你不用每天和栈搏斗。

§ III

三、语言设计的关键取舍

显式类型声明
所有函数参数、结构体字段必须声明类型;没有 var / auto。在零容错的 BVM 里,「代码里看到什么,栈上就发生什么」比简洁更重要。
编译期所有权检查
变量被传入内置函数或赋值给其他变量后即被「消耗」,不能再次引用。这直接对应 BVM 的栈弹出语义;编译器把这类错误从「上链后失败」前置到「编译时就拦」。
状态固化在字节码
合约成员变量被编进字节码本身,不同数据生成不同锁定脚本。这是 UTXO 的「状态即代码」,与以太坊「合约地址 + 链上存储」根本不同。
单文件单合约
一个 .ct 文件只放一个合约,与「一个 UTXO 对应一段锁定脚本」天然对齐。

§ IV

四、横向对比

四、横向对比
维度UTXO_Compiler .ctsCrypt(BSV)Bitcoin Script(原生)
抽象层级高级语言高级语言汇编级
语法风格Python-likeTypeScript-like操作码序列
类型系统强类型强类型无类型
所有权检查编译期
调试工具内置交互式调试器插件支持
构造函数手动嵌入支持手动嵌入

§ V

五、我们诚实承认两件事

  • 平台支持

    当前 Linux 与 Windows 已上线,macOS 计划支持中。

  • 生态成熟度

    标准库的内置函数与对象在持续扩展中;社区示例还在积累期。我们更愿意把 UTXO_Compiler 定位成「开发中的基础设施」,而不是终点。