跳到主要内容
版本:3.3.1

Token Contract

token.iost​


简介​

代币合约,用于代币创建,发行,转账和销毁,支持冻结功能,支持配置代币全称,小数位数,转账属性等。

基础信息​

contract_idtoken.iost
languagenative
version1.0.3

接口描述​

create(tokenSym, issuer, totalSupply, config)​

创建代币。

参数名称参数类型备注
tokenSymstring代币标识符,合约内唯一,长度为 2-16 位的字符串,字符只能包含 [a-z0-9_]
issuerstring代币发行者,具有发行代币权限,调用此接口需要该账户的 "token" 权限
totalSupplynumber总发行量,整数
configjson代币设置,包含 4 个 key:
fullName —— string 类型,代币全称;
canTransfer —— bool 类型,是否可转账;
decimal —— number 类型,代币小数位数;
onlyIssuerCanTransfer —— bool 类型,是否只能由代币发行者转账;

issue(tokenSym, to, amount)​

发行代币。

调用此接口需要代币发行者的 "token" 权限。

参数名称参数类型备注
tokenSymstring代币标识符
tostring代币接收账户
amountstring金额,可以是整数或小数, 如 "100", "1.22" 都是合法的金额

transfer(tokenSym, from, to, amount, memo)​

代币转账。

参数名称参数类型备注
tokenSymstring代币标识符
fromstring代币转出账户,调用此接口需要该账户的 "transfer" 权限
tostring代币接收账户
amountstring金额
memostring附加信息

transferFreeze(tokenSym, from, to, amount, ftime, memo)​

转账并冻结代币。

参数名称参数类型备注
tokenSymstring代币标识符
fromstring代币转出账户,调用此接口需要该账户的 "transfer" 权限
tostring代币接收账户
amountstring金额
memostring附加信息

destroy(tokenSym, from, amount)​

销毁代币。

参数名称参数类型备注
tokenSymstring代币标识符
fromstring代币转出账户,调用此接口需要该账户的 "transfer" 权限
amountstring金额

balanceOf(tokenSym, from)​

获取代币余额。

参数名称参数类型备注
tokenSymstring代币标识符
fromstring账户名
返回值类型备注
balancestring账户余额

supply(tokenSym)​

获取代币发行量,即已经 issue 且没有 destroy 的代币总额。

参数名称参数类型备注
tokenSymstring代币标识符
返回值类型备注
amountstring发行量

totalSupply(tokenSym)​

获取代币总发行量,即发行代币时配置的 totalSupply 值。

参数名称参数类型备注
tokenSymstring代币标识符
返回值类型备注
amountstring发行量

token721.iost​


简介​

不可交换代币合约,用于不可交换代币创建,发行,转账和销毁。

基础信息​

contract_idtoken721.iost
languagenative
version1.0.0

接口描述​

create(tokenSym, issuer, totalSupply)​

创建代币。

参数名称参数类型备注
tokenSymstring代币标识符,合约内唯一,长度为 2-16 位的字符串,字符只能包含 [a-z0-9_]
issuerstring代币发行者,具有发行代币权限,调用此接口需要该账户的 "token" 权限
totalSupplynumber总发行量,整数

issue(tokenSym, to, metaData)​

发行代币。

调用此接口需要代币发行者的 "token" 权限。

参数名称参数描述参数类型
tokenSymstring代币标识符
tostring代币接收账户
metaData代币的 meta 数据string
返回值类型备注
tokenIDstring代币编号,在某一代币中,系统会为发行的每个代币生成一个代币编号,同种代币中编号不会重复。

transfer (tokenSym, from, to, tokenID)​

代币转账。

参数名称参数类型备注
tokenSymstring代币标识符
fromstring代币转出账户,调用此接口需要该账户的 "transfer" 权限
tostring代币接收账户
tokenIDstring代币 ID

balanceOf(tokenSym, from)​

获取代币余额。

参数名称参数类型备注
tokenSymstring代币标识符
fromstring账户名
返回值类型备注
balancestring账户余额

ownerOf(tokenSym, tokenID)​

获取某个特定代币的拥有者。

参数名称参数类型备注
tokenSymstring代币标识符
tokenIDstring代币 ID
返回值类型备注
accountstring拥有者账户

tokenOfOwnerByIndex(tokenSym, owner, index)​

获取账户拥有的第 index 个代币。

参数名称参数类型备注
tokenSymstring代币标识符
ownerstring账户名
indexnumber代币 index,整数
返回值类型
tokenIDstring

tokenMetadata(tokenSym, tokenID)​

获取代币的 meta 数据。

参数名称参数类型备注
tokenSymstring代币标识符
tokenIDstring代币ID
返回值类型
metaDatastring