Show / Hide Table of Contents

资产和账户

Asset

NEO中资产包含两种:一种是用户发行的UTXO类型的全局资产,NEO与GAS在创世块中被定义发行。另外一种,用户通过智能合约发布的如NEP-5资产。前者信息记录在资产账户信息中,见下表,后者存储在合约的存储空间。

尺寸字段名称类型描述
32AssetId资产IdUInt256 assetid = tx.hash
1AssetType类型AssetType
?Name资产名字string存放的是公钥列表
8Amount总量Fixed8 amount = -Fixed8.Satoshi = -1 = 无穷大
8Available剩余量Fixed8
1Precision精度byte
1FeeMode费用模式const byte
8Fee费用Fixed8
20FeeAddressUInt160默认null
?Owner所有者ECPoint
20Admin管理员UInt160
20Issuer发行者UInt160
4Expiration过期时间uint
1IsFrozen是否冻结bool

总量的模式有两种: 一种不限量,总量设置为 -Fixed8.Satoshi ,表示无穷大. 另外一种是限定不可修改的总量。

AssetType

字段描述
CreditFlag0
DutyFlag0x80
GoverningToken0x00Neo
UtilityToken0x01Gas
Currency0x08
ShareDutyFlag | 0x10股权类
InvoiceDutyFlag | 0x18
TokenCreditFlag | 0x20普通token

资产类型包含 DutyFlag 值时,都需要进行收款方签名。

资产名称类型总量描述
NEOAssetType.GoverningToken0x001亿一次性发放,创世块中全部转移到备用共识节点多方签名合约地址上
GASAssetType.UtilityToken0x011亿按区块新增,持有NEO的用户通过 ClaimTransaction 提取GAS

Account

NEO网络中,账户(account)模型和UTXO模型并存。账户记录了UTXO类型的全局资产的用户资金和用户投票。

尺寸字段名称类型描述
20ScriptHash地址脚本hashUInt160
1IsFrozen是否冻结bool冻结用户的资产不能转账
? * ?Votes投票地址ECPoint[]投票地址列表
?BalancesUTXO资产Dict<UInt256, Fixed8>资产Id -> 数量