-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请问星火链网是否有数字资产协议标准可参考? #11
Comments
认可关于“星火链网数字资产协议标准”的提议,现将拟定关于“星火链网数字资产协议标准”的RFC标准。 |
1.序言编号:RFC-010 类型:RFC 标题:星火链网DNA协议标准 作者:金健,[email protected];谢家贵,[email protected];李志平,[email protected];魏星,[email protected] 发布时间:2022-04-29 状态: 更新时间: 讨论地址:#11 依赖RFC:无 2.摘要本文介绍星火链网数字资产的协议标准和规范流程。 3.动机目前星火应用生态处于起步阶段,随着业内区块链应用生态的发展,数字藏品发展迅速。为了将诸类应用嫁接到星火链网,需要在星火链网上实现诸类应用的智能合约。为了保证资产创建后的规范性和通用性,参照非常成熟的以太坊ERC721,我们为开发人员提供星火链网的数字资产协议标准。 4.标准设计4.1 总体设计在以太坊ERC721基础上,DNA(digital native assets,数字原生资产)根据星火链网的应用场景进行以下改进:
4.2 协议标准DNA协议中定义了如下接口,为了保持合约的规范性,用户在使用的过程中,必须实现全部接口,但允许实现内容为空。 下面对该协议的具体接口进行介绍,该协议支持solidity、js等多种编程语言的实现。 文中出现的BID地址,指的是did:bid地址类型。关于did:bid地址,请参考 星火链网RFC-002:星火链网分布式标识BID DNA165是实现DNA721协议的一部分,IDNA165实现了检查合约接口定义的功能。如下:
supportsInterface()功能说明 检查其他合约对接口的支持情况,如果合约实现了 接口描述
无 以下是 DNA721协议的事件以及接口规范:
事件DNA协议中有5个事件,分别是: 1)转移DNA时:
当 2)授权DNA时: 当 3)授权所有DNA时:
当 4)建立tokenId和BID的映射关系时: 当建立起 5)设置DNA的可用状态时:
当设置DNA的可用状态时,触发此事件。 接口如下: create()功能说明 创建一个DNA。 接口描述
触发{Transfer} 事件。 balanceOf()功能说明 查询用户所持有的DNA数量。 接口描述
无 ownerOf()功能说明 查询tokenId所指的DNA的所有者。 接口描述
approve()功能说明 授权操作,A将自己的某一个DNA授权给其他账户B,B获得权限:B可以对该DNA进行转移操作。 一次只能授权一个帐户。授权另一个账户时,会取消对上一个账户的授权。 接口描述
触发 {Approval} 事件 getApproved()功能说明 查询某个DNA授权给了哪个帐户。 接口描述
无 setApprovalForAll()功能说明 该授权操作与approve操作无直接联系。 授权(取消授权)操作,A将自己的所有DNA授权给其他账户B,B获得权限:B可以对该DNA进行转移操作。 接口描述
isApprovedForAll()功能说明 查询某个账户A是否将自己所有的DNA授权给另一个账户B。 接口描述
无 transferFrom()功能说明 转移DNA给其他账户。转移的时候需要满足以下情况: 1) 2) 合约调用者是 接口描述
触发{Transfer} 事件。 safeTransferFrom()功能说明 安全地转移DNA给其他账户。转移的时候需要满足以下情况: 1) 2) 合约调用者是 安全转移的含义是指: 当接收方
接口描述
触发{Transfer} 事件。 bindDNA()功能说明 建立tokenId和BID的映射关系。 接口描述
触发{bindDNA} 事件。 setState()功能说明 设置DNA的可用状态。为了便于监管资产的合规性,设置DNA的状态,锁定状态的DNA不能被转移。 接口描述
触发{setState} 事件。 getState()功能说明 获取唯一标识为tokenId的DNA的可用状态。 接口描述
无 |
分配RFC编号RFC-010,进入演示阶段。 |
4.3 metadata格式
|
4.3 metadata格式
|
7月29日宣布接受该RFC。 |
动机
随着星火链网业务场景的不断发展,数字资产场景应用需求不断增加。为了保证基于星火链网创建数字资产的规范性和通用性,现需要向开发者提供星火链网数字资产协议标准。
生命周期
提出日期:2022-04-26
演示日期:2022-04-29
接受日期:2022-07-29
采纳日期:2022-07-29
The text was updated successfully, but these errors were encountered: