代币类型 – 不可替代代币(NFTs)、 可替代代币(FTs)、 不可转让代币(NTTs)
不可替代代币(NFTs)
NFTs是最常见的一种数字资产。它们被用来表达独一无二的代币。
NFT结构
简单资产NFTs被分为 mdata (创建者可以随时更新数据,无需考虑所有权), 和 idata (NFT被创建时设置的数据,永远不可更新更改).
两者都是字符串化的JSONs,例如: {\”key1\”:\”some-string\”, \”key2\”:5}
Category 是一个可选字段,方便对NFTs进行分组。类别名必须小于或等于12个字符(a-z, 1-5)。
Offer/Claim versus Transfer – 如果你转让NFT,则发送者将为RAM付费。作为备选,你可以只是提供NFT(offer NFT),而申领NFT(claim NFT)用户将为其RAM付费。 (注意: 我们正在开发一种功能,该功能允许NFT创建者保留大量RAM,可让用户免于支付转让费用。)
RAM 使用
NFTs的RAM使用情况取决于存储在idata和mdata字段中的数据量。如果它们为空,则每个NFT占用 276 字节.
每个字符在 idata 和 mdata 中都是 1 字节.
可替代代币 (FTs)
对于需要可替代代币 (FTs)的Dapps,应该在使用eosio.token合约和简单资产(Simple Assets)合约之间做出抉择:
在简单资产中
- 范围是创建者而非符号
- 统计表也包括每个FT的其他数据。
- 对于转让,你需要使用简单资产合约中的 transferf 操作。
- 如果创建者设置 authorcontrol 标识,则创建者可以独立于用户的授权同意,而转让/烧录等用户的FTs。
- 追踪FTs表包含创建者的账户名,以允许不同的Dapps拥有相同名字的FTs。(示例: https://bloks.io/contract?tab=Tables&table=accounts&account=simpleassets&scope=bohdanbohdan&limit=100)
(注意: 可替代代币(FTs)也具备 offer/claim 功能, 此方式可作为转让的备选方法。对于可替代代币(FTs),唯一需要发送者支付RAM的是之前接受者从未持有过此FTs。 创建FT表占用约300字节。)
不可转让代币(NTTs)
不可转让代币(NTTs)最有可能的两种用例是
许可证,可以授予某账户但不可转让。
奖杯和奖章,授予特定账户。
使用NTTs的理由是:
NTTs出现在第三方资产浏览器。
一些功能由简单资产(Simple Assets)处理。
更多关于NTTs内容: https://medium.com/@cryptolions/introducing-non-transferable-tokens-ntts-2f1a532bf170