协议docs/protocol/native-wire.md

原生对象与传输格式

本页描述顺序原生金融配置。整数经济规则见原生金融。集成应用可通过钱包 RPC,依据自身节点当前的 State 构造并审核操作。

类型化活跃对象

每个原生开口都有类型、不可变的规范字节编码,以及采用域分离的 Poseidon2b 承诺。该承诺位于 State 输出的所有者/根字段。活跃槽位还认证金额和创建实例。依赖项的承诺根必须匹配开口所要求的定义,才能被接受。

顺序配置采用以下活跃类型:

类型 ID 128 位字段数 编码字节数
同质化代币定义 1 8 140
代币余额 2 6 108
代币储备 3 6 108
NFT 集合 4 8 140
NFT 项目 5 8 140
市场定义 32 8 140
市场池 33 8 140
发行定义 48 8 140
发行状态 49 8 140
NFT 挂单定义 64 8 140
NFT 挂单 65 8 140

开口以八字节 NOIDAS21 开始,随后是值为 1 的 little-endian u16 格式版本,以及 little-endian u16 类型。后续每个字段为 little-endian u128。类型决定精确字段数量。截断、超长或带尾随数据的编码被拒绝。通用解码器的开口上限为 204 字节,包含 12 字节头部。选中的顺序配置接受上表中的类型。

noid_tx/src/native_assets.rs 定义字段顺序、数值范围、承诺标签和规范编码器。发行、市场和 NFT 模块分别定义对应开口所承诺的条款。

身份与实例

资产和集合 ID 为 32 字节身份。创建将链、创建者、确切资金槽位及其创建 ID 与定义共同绑定。NFT 身份还绑定集合和序号。分配记录被消耗前,其金额和根必须匹配输入的确切实例。

原生创建 ID 设置第 62 位,序列号小于 2^62。普通输出和 coinbase 来源分别遵循各自分派规则。解码活跃 State 声明时检查原生序列号,花费权利由槽位与创建实例共同标识。

同质化代币定义固定发行量和元数据。代币余额承诺资产、所有者及最小单位数量。独立储备承诺 NOID 储备与未赎回供应量。曲线/池对象保存交易状态。集合状态保存最大数量和已发行序号计数。挂单状态将项目绑定到不可变的卖家、要价和到期定义。

Owner 授权操作

当前原生操作码为:

代码 操作
2 转移同质化代币
3 销毁代币并赎回储备
5 创建集合
6 铸造 NFT
7 转移 NFT
8 销毁 NFT
48 创建固定供应发行
64 创建 NFT 挂单
65 购买 NFT 挂单
66 取消 NFT 挂单
80 执行所选顺序交易

操作码和开口类型 ID 属于独立命名空间,所选区块配置同时检查两者。原生转换绑定全部输入/输出槽位、金额、创建 ID、类型化开口、必需定义、权限和费用。关系检查最终 State 效果与授权。

意图帧格式

原生花费采用 NOIDNT21,随后是 little-endian 版本 1、u16 页数和 u32 授权字节数,前缀共 16 字节。其后为规范交易页体。每个活跃输入和输出再携带一个 u16 开口长度及开口字节,零长度表示普通 NOID 声明。金融操作携带头部指定的有界依赖列表。最后的字节区域为 Owner 胶囊。

编码器先确定授权偏移,再附加胶囊。解析器检查帧结构、页/起始/结束标记、掩码、计数、依赖顺序,以及消息是否恰好全部消费。结构限制和接纳区块选中的资源类别同时适用。

带资金的交易策略采用 NOIDTO21、little-endian 版本 1、两个为零的保留字节、u32 意图长度和 u32 授权长度。20 字节前缀后为规范交易意图和 Owner 胶囊。意图固定资产、确切主要资金实例、接收者、输入上限、最小结果、费用上限、时期和有效区间。

规范编码器位于 noid_tx/src/native_assets/wire.rs 和 noid_tx/src/native_assets/trade/wire.rs。采用这些编码器,使审核过的意图和授权声明引用相同字节。

区块数据、快照与剪枝

区块绑定实际选中的带资金策略、确定性顺序、所有中间转换和最终支付。策略收据标识每个用户在该承诺组中执行的交易。更新后的活跃市场供下一区块使用。

State 同步携带活跃原生开口及其完整必需定义。NSG1 原生段格式扩展稀疏 State 段。解码器在分配内存前检查长度,并检查槽位/根与金额/实例的精确对应、记录唯一性和必需依赖。段承诺绑定安装时采用的认证 State 视图。

旧区块体及其交易数据在保留期后剪枝。活跃原生负载随当前 State 保持可用,规范区块头支持验证已保存收据。钱包描述与图片文件通过承诺的媒体哈希单独分发。

ParanO(1)d 技术文档共识行为以源代码为准。