EOSIO区块链数字产品 “Simple Assets”(Alpha)简介

CryptoLions
12 min readMar 1, 2019

--

原文:https://medium.com/@cryptolions/introducing-simple-assets-b4e17caafaa4

简单资产(Simple Assets)是在EOSIO区块链上为数字资产(也称不可替代的代币)创建和运作的智能合约。我们目前处于Alpha阶段,已在Jungle Testnet中部署并可用。

简单资产演示

视频1:Simple Assets Demo

基础知识:什么是数字资产(又名不可替代的代币)?

大多数加密资产我们认为都是可替代的。它们可以被互换和替代。比特币和EOS,像美元一样是可替代的。重要的不是你拥有哪一种,重要的是你拥有的数量。

相比之下,其他的商品,如剧院门票或财产契约,都是不可替代的。每一个都是独一无二的。

在视频游戏中,一些资产,比如游戏内的资源 — 木材、黄金、vespene油气 — 是可替代的,但是一些稀有的高级物品,可能是传说中的剑,或者车辆都是不可替代的

视频2:What are Digital Assets (ie. Non-Fungible Tokens)?

在加密领域,已经存在了不可替代的数字资产。也许最着名的是CryptoKitties。不可替代代币的标准包括基于以太坊的ERC-721代币标准WAX.io区块链,后者由OP Skins的创始人创建的。

简单资产(Simple Assets)是为EOSIO生态系统中的开发人员设计的数字资产/ NFT标准。

简单资产(Simple Assets)标准

Web: http://simpleassets.io
Git: http://github.com/CryptoLions/SimpleAssets

合同指令

//basic author actions
create (author, category, owner, idata, mdata, requireClaim)
update (author, owner, assetID, mdata)
//owner actions
transfer (from, to , assetID, memo)
burn (owner, assetID, memo)
offer (owner, newowner, assetID)
canceloffer (owner, assetID)
claim (claimer, assetID)
//optional author registration for asset display recommendations
regauthor (name author, data, stemplate)
authorupdate (author, data, stemplate)
//for lending assets
delegate (owner, to, assetID)
undelegate (owner, from, assetID)

数据结构

资产

大多数资产信息都会进入字符串化的json字段idata和mdata。idata代表不可变数据,它无法被改变。mdata代表可变数据,由资产所有者可以更新的字段组成。

assets {  
uint64_t id, // asset id used for transfer and search
name owner, // asset owner (mutable - by owner!!!)
name author, // asset author (game contract, immutable)
name category, // asset category, chosen by author immutable
string idata, // immutable assets data
string mdata // mutable assets data, added on creation or asset update by author
}
// Please include in idata or mdata info about asset name img desc which will be used by Markets

议案

作为一种将资产转移到新所有者的替代方案,这将分配当前所有者的内存。用户可以将资产提供给新的所有者并允许他们声明所有权,这将分配接受者的内存。

offers {  
uint64_t assetID, // asset id offered for claim
name owner, // asset owner
name offeredTo, // who can claim this asset
uint64_t cdate // offer create date
}

编辑者

填充此表的注册操作的使用是可选的,但资产创建者可以选择发布有关自己的信息,并就如何显示其资产提出建议。

钱包,市场和其他资产探索者可以选择是否遵守编辑者的建议。

authors {  
name author, // assets author, who will be able to
// create and update assets
string data, // author’s data (json) will be used by
// markets for better display
string stemplate // data (json) schema for markets.
// key: state values, where key is key from
// recommendations for non-text fields:
// url, img, webgl, mp3, video, hide
}

委托人

这个简单的表记录了借出和借入的资产。通过委托人操作租借资产实际上会更改资产所有者字段,但它会在委托表中创建一个条目,并且某些功能将被阻止,比如转移或烧录资产,直到借出人将资产返回给所有者。

delegates{  
uint64_t assetID, // asset id offered for claim
name owner, // asset owner
name delegatedto, // who can claim this asset
uint64_t cdate // offer create date
}

以下是对这些指令和结构的讨论。

视频3:Technical Introduction to Simple Assets

关键的决定,我们喜欢一些反馈:

  • 基础架构。我们在资产中有可变数据和不可变数据。似乎其他一些资产只有不可变数据,并将可变部分存储在游戏或应用程序中。
  • 我们资产表的类别字段上建立索引。一条索引将为表的每一行添加128个字节。因此资产较小,但找到它们需要一些额外的工作。(我们决定在这里采取对策。实现简单资产(Simple Assets)极其凝练的方法是将类别放在字符串化的json字段idata中。)
  • 所有者(即EOS账户持有人)可以100%控制转账,借入/借出和烧录,而不是资产的编辑者。另一种方法是通过编辑者隐藏某些功能,允许他们将其资产的接受者列入黑名单/白名单。这一决定其中之一的后果是游戏无法为其资产创造独家市场。如果使用简单资产(Simple Assets),则资产的所有权完全在游戏或其他资产应用程序之外表现。这种方式是正确的吗?
  • 同样,我们删除了允许编辑者暂停或停止其资产转移的功能。
  • 现在,放弃资产(即所有者已收回借出的资产)会立即发生。我们正在考虑增加一个延迟来减缓潜在的拖钓,这可能是所有者在游戏中收回作为自己的资产的一个关键时刻。什么将是一个很好的延迟方式?

我们应该添加所有者的备忘录吗?

  • 最后且最重要的是,我们暂时决定反对在所有者可以自行编辑的资产中添加所有者的备忘录字段,尽管这个想法持续引起我们的兴趣。当然,任何游戏或资产应用程序都可以创建逻辑,所有者可以通过该逻辑向mdata字段添加备忘录,但我们想到提供一个允许与资产所有者直接交互的字段,独立于编辑者。一个用例可能是允许所有者编写将在销售资产的市场中显示的注释,但是市场也可以在简单资产协议之外创建此功能。我们决定节省RAM而不包括这个方面,但我们仍然在讨论它。也许所有者备忘录字段可能允许某种动态皮肤功能,基于此游戏可以查询备忘录并相应地显示资产。

我们很想知道您的想法。请跳入我们的telegram频道,告诉我们您的想法:https: //t.me/CryptoLions_io

为简单资产(Simple Assets)的简单市场

我们配置了一个与简单资产(Simple Assets)集成的简单市场。这非常基础,没有任何拍卖功能。

任何人都可以在简单资产(Simple Assets)上建立一个市场。

视频4:Demo Market Integration with Simple Assets

我们必须要求资产编辑者在他们注册/授权更新时指定他们每笔销售的期望百分比,然后市场可以选择将此百分比作为赞赏送给编辑者。但正如文中前面所讨论的,我们决定让所有者100%控制转让所有权,因此遵守这一建议是可选的。

立即创建您自己的资产!

1.如果您还没有,请在丛林测试网Jungle testnet中创建一个帐户,然后连接Scatter:

视频5:Update: Creating a Jungle Testnet account and connecting Scatter

2.使用CLEOS,发送创建操作至合同的Alpha版本,这称为simpl1assets

create (author, category, owner, idata, mdata, requireClaim)

例子:

asset='{"author": "youreosaccount",
"category": "weapon",
"owner": "recipientaccount",
"idata": "{\"power\": 10, \"speed\": 2.2, \"name\": \"Magic Sword\" }",
"mdata": "{\"color\": \"bluegold\", \"level\": 3, \"stamina\": 5, \"img\": \"https://bit.ly/2MYh8EA\" }",
"requireClaim" : 0
}'
./cleos.sh push action simpl1assets create "$asset" -p youreosaccount

3.前往alpha.simplemarket.io并使用Scatter登录以查看您的资产,出售或购买他人创建的资产。

Kolobok!一款运用简单资产(Simple Assets)的简单游戏

我们在Jungle Testnet中上线了一个简单的游戏,其中演示了Simple Assets的所有基本功能。

http://jungle.kolobok.cryptolions.io

视频6:Kolobok! A simple game using Simple Assets

简单资产(Simple Assets)治理

在主网上,CryptoLions计划通过启动和初始测试来策划简单资产(Simple Assets),然后创建一个控制智能合约的DAC,并为更进一步为开发做出决策。欢迎其他区块链根据自己的治理标准配置简单资产(Simple Assets)。它是完全免费和开源的!

如果简单资产(Simple Assets)找到用户群,最可能的另一个功能是为资产构建和配置区块链间通信。

简单资产(Simple Assets)与dGoods v0.1比较

当我们听到Mythical Games正在开发dGoods时,我们对简单资产(Simple Assets)非常重视。我们认为他们将成为EOS游戏领域的重要参与者,我们高度重视他们的工作和想法。上周Mythical Games宣布了他们早期版本的标准:Digital Goods Token Spec v0.1并要求社区的反馈。

dGoods和Simple Assets之间的重要相似点是是一种普世的哲学方法和目的。两者都致力于完全免费和成为EOS上数字资产的开源标准。

这里讨论关键设计差异:视频7:Comparing Simple Assets to dGoods v0.1 https://youtu.be/hPUC8BzqlpA

结尾

请加入我们的Telegram,告诉我们您的想法。

https://simpleassets.io/ 欢迎您的加入!!!

🦁🦁🦁

CryptoLions是一家位于乌克兰的EOS BP节点。我们致力于通过创建改善生态系统的项目,制定透明度和问责制标准,并且在全球推广EOS,使EOS更有价值。

website: http://cryptolions.io/
github: https://github.com/CryptoLions
telegram: https://t.me/CryptoLions_io
steemit: https://steemit.com/@cryptolions
twitter: https://twitter.com/EOS_CryptoLions
medium: https://medium.com/@cryptolions/
youtube: https://www.youtube.com/channel/UCB7F-KO0mmZ1yVBCq0_1gtA

Russian/Ukrainian:
steemit: https://steemit.com/@cryptolions-ua
youtube: https://www.youtube.com/channel/UCnVu47FZ09XX9EvrqqgS6uQ
twitter: https://twitter.com/EOSnews_ru

--

--