Skip to content

内置对象文档

本文档基于详细介绍了系统定义的内置对象,包括Self对象和BVM对象。文档涵盖对象的名称、作用、属性、方法及使用示例,旨在为开发人员提供清晰、准确的函数使用指南。

1. Self 对象

  • 对象名(Object Name):Self
  • 描述(Short Description):表示“自身”概念的内置对象,用于处理与当前上下文相关的成员访问。
  • 使用示例(Example)
    python
    # 初始化Self对象并设置属性
    def __init__(pubKeyH: hex):
        self.pubKeyHash = pubKeyH  # 为self对象添加pubKeyHash属性并赋值
    
    # 使用Self对象属性
    def verify_key(signature: string):
        result = CheckSig(self.pubKeyHash, signature)

2. BVM 对象

  • 对象名(Object Name):BVM(Bytecode Virtual Machine,字节码虚拟机)
  • 描述(Short Description):表示字节码虚拟机的内置对象,提供虚拟机元数据(如版本、输入输出计数)的访问能力。
  • 预定义成员映射表
    成员名对应数值用途
    "version"1虚拟机版本号
    "locktime"2锁定时间
    "inputCount"3输入数据数量
    "outputCount"4输出数据数量
    "inputsHash"5输入数据的哈希值
    "unlockingInput"6解锁输入数据
    "outputsHash"7输出数据的哈希值
  • 使用示例(Example)
    python
    # 处理交易数据并验证
    tx_data = Cat(pretx.VLIO, tx_data)  # 拼接交易数据
    txid = Hash256(tx_data)  # 计算交易ID
    
    # 访问BVM对象的元数据
    meta_data = BVM.unlockingInput  # 获取解锁输入元数据
    {meta_data_txid, meta_data_remain} = Split(meta_data, 32)  # 从元数据中提取交易ID
    
    EqualVerify(txid, meta_data_txid)  # 验证交易ID一致性

基于 MIT 许可发布