概念

广义来说,token有如下两个定义:

  • 存托凭证(A depository receipt):这意味着它是对存在于账本之外的东西的分类账本表示;

  • 本机令牌(A native token):一个本机令牌,表示该值实际上存在于分类帐中,并且无法将其用于账本之外的东西,因为该东西甚至不存在于分类账之外。

令牌可以是ContractStateLinearStateOwnableStateFungibleAsset之一或组合,带有以下3个命令:Issue,Move和Redeem。

可以根据如下设计流(design flow)为tokens构建框架:

Design Flow

TokenType

TokenType 是固定单位,您发出该单位的标记。它只需要一个标识符(tokenidentifier),例如 RMB,以及小数位数字的个数(fractionDigits),这些小数位数本质上定义了令牌的最小面值。(如[RMB token-type,0.01]表示人民币的最小面额为分)。

根据上面的Design Flow,TokenType在设计之后使用的整个生命周期是不可变的,但是在设计的时候可以根据需要扩展,添加除前面已经提到的标识符和小数位数之外的其他属性,但是一旦定义在流通及回收的过程中就是不可以变的。

EvovableTokenType

TokenType 实例不同,EvolvableTokenType 实例是一个 LinearState 实例,该实例将随着时间的推移根据相应的规则而演变。此外,还提供了部分流(flows)促进这种转变。

可以考虑一辆车,车的品牌、型号、车的标识码是不变的,但是里程数,价格是会随着时间的推移改变的。