2022年1月25日,区块链服务网络发展联盟(简称“BSN联盟”)推出了“BSN-DDC基础网络”(简称DDC网络)。DDC网络的推出,为NFT技术在我国的落地提供基础设施能力支撑,并为其合规发展保驾护航。
DDC(Distributed Digital Certificate)即分布式数字凭证,其属性和功能类似于NFT。NFT是现实或数字世界中某个事物在区块链上的数字化权益证明,尽管目前大多被用于数字艺术品版权领域,然而其本质上是一种区块链分布式数据库技术,并不带有特定的业务属性,它的潜在使用场景是非常广泛的,可应用在数字商品凭证、票证、账户管理、知识产权等各种领域。
DDC网络不直接向个人用户提供服务,而是向拥有DDC/NFT业务的平台方提供极其便捷的网络接入服务,以方便这些平台以极低的成本提供DDC/NFT的生成和管理服务。
DDC-SDK 是用于开发者与DDC合约交互的 API 工具。为了让运营方或各平台方对DDC-SDK整体设计有一个全面详细的了解,同时为项目的开发、测试、验证、交付等环节提供原始依据以及开发指导,BSN研习社推出BSN-DDC基础网络DDC SDK详细设计系列。分别从整体设计,DID功能设计,DDC权限管理、费用管理,官方合约BSN-DDC-721,官方合约 BSN-DDC-1155,交易查询、区块查询、签名事件,数据解析,示例等八个方面,全面详细的介绍DDC-SDK。
本期是系列文章第七期,数据解析。
3.2.1 BSN-DDC-数据解析
3.2.8.1 权限数据
3.2.8.1.1 添加账户
3.2.8.1.1.1 功能说明
用于对BSN-DDC-权限合约进行添加账户所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.1.1.2 合约事件
Ø AddAccount (address indexed caller,address indexed account)
3.2.8.1.1.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | sender | String | 是 | |
链账户地址 | account | String | 是 | 添加的链账户地址 |
3.2.8.1.2 更新账户状态
3.2.8.1.2.1 功能说明
用于对BSN-DDC-权限合约进行更新账户状态所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.1.2.2 合约事件
Ø UpdateAccountState(address indexed account,IAuthorityData.State platformState,IAuthorityData.State operatorState)
3.2.8.1.2.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
链账户地址 | account | String | 是 | 添加的链账户地址 |
平台管理账户状态 | platformState | enum | 是 | DDC账户对应的当前账户状态(仅平台方可操作该状态)。值包含:1.Frozen(冻结状态,无法进行DDC相关操作) 2.Active(活跃状态,可进行DDC相关操作) |
运营管理账户状态 | operatorState | enum | 是 | DDC账户对应的当前账户状态(仅运营方可操作该状态)。值包含: 1.Frozen(冻结状态,无法进行DDC相关操作) 2.Active(活跃状态,可进行DDC相关操作) |
3.2.8.1.3 跨平台授权
3.2.8.1.3.1 功能说明
用于对BSN-DDC-权限合约进行跨平台授权所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.1.3.2 合约事件
Ø CrossPlatformApproval(address indexed from,address indexed to, bool approved)
3.2.8.1.3.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
授权账户 | from | String | 是 | |
接收账户 | to | String | 是 | |
授权标识 | approved | Boolean | 是 |
3.2.8.2 充值数据
3.2.8.2.1 充值
3.2.8.2.1.1 功能说明
用于对BSN-DDC-计费合约进行充值所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.2.1.2 合约事件
Ø Recharge(address indexed from,address indexed to,uint256 value)
3.2.8.2.1.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
原链账户地址 | from | String | 是 | 业务费转出方链账户地址 |
目标链账户地址 | to | String | 是 | 业务费转入方链账户地址 |
业务费 | amount | BigInteger | 是 | 充值的业务费金额 |
3.2.8.2.2 DDC业务费扣除
3.2.8.2.2.1 功能说明
用于对BSN-DDC-计费合约进行DDC业务费扣除所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.2.2.2 合约事件
Ø Pay(address indexed from,address indexed ddcAddr,bytes4 sig,uint32 amount,uint256 ddcId)
3.2.8.2.2.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
链账户地址 | from | String | 是 | 扣除业务费方链账户地址 |
业务合约 | ddcAddr | String | 是 | 业务合约地址 |
方法签名 | sig | String | 是 | 业务合约所对应的方法签名 |
业务费 | amount | BigInteger | 是 | 充值的业务费金额 |
DDC唯一标识 | ddcId | BigInteger | 是 |
3.2.8.3 BSN-DDC-721数据
3.2.8.3.1 生成/安全生成
3.2.8.3.1.1 功能说明
用于对BSN-DDC-721业务合约进行DDC生成或安全生成所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.3.1.2 合约事件
Ø Transfer(address(0),to,ddcId)
3.2.8.3.1.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
接收账户地址 | to | String | 是 | |
DDCID | ddcId | BigInteger | 是 |
3.2.8.3.2 转移/安全转移
3.2.8.3.2.1 功能说明
用于对BSN-DDC-721业务合约进行DDC转移/安全转移所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.3.2.2 合约事件
Ø Transfer(from, to, ddcId)
3.2.8.3.2.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
拥有账户地址 | from | String | 是 | |
接收账户地址 | to | String | 是 | |
DDCID | ddcId | BigInteger | 是 |
3.2.8.3.3 冻结
3.2.8.3.3.1 功能说明
用于对BSN-DDC-721业务合约进行DDC解冻所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.3.3.2 合约事件
Ø EnterBlacklist(sender,ddcId)
3.2.8.3.3.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | sender | String | 是 | 签名者账户所对应的账户地址 |
DDCID | ddcId | BigInteger | 是 |
3.2.8.3.4 解冻
3.2.8.3.4.1 功能说明
用于对BSN-DDC-721业务合约进行DDC解冻所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.3.4.2 合约事件
Ø ExitBlacklist(sender,ddcId)
3.2.8.3.4.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | sender | String | 是 | 签名者账户所对应的账户地址 |
DDCID | ddcId | BigInteger | 是 |
3.2.8.3.5 销毁
3.2.8.3.5.1 功能说明
用于对BSN-DDC-721业务合约进行DDC销毁所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.3.5.2 合约事件
Ø Transfer(from,address(0),ddcId)
3.2.8.3.5.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
拥有者 | from | String | 是 | DDC拥有者所对应的账户地址 |
DDCID | ddcId | BigInteger | 是 |
3.2.8.3.6 URI设置
3.2.8.3.6.1 功能说明
用于对BSN-DDC-721业务合约进行DDC资源标识符设置所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.3.6.2 合约事件
Ø SetURI(uint256 indexed ddcId,string ddcURI)
3.2.8.3.6.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
DDC唯一标识 | ddcId | BigInteger | 是 | |
DDC资源标识符 | ddcURI | String | 是 |
3.2.8.4 BSN-DDC-1155数据
3.2.8.4.1 安全生成
3.2.8.4.1.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC安全生成所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.1.2 合约事件
Ø TransferSingle(operator,address(0),to,ddcId,amount)
3.2.8.4.1.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | operator | String | 是 | 签名者账户所对应的账户地址 |
接收账户地址 | to | String | 是 | |
DDCID | ddcId | BigInteger | 是 | |
数量 | amount | BigInteger | 是 |
3.2.8.4.2 批量安全生成
3.2.8.4.2.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC批量安全生成所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.2.2 合约事件
Ø TransferBatch(operator,address(0),to,ddcIds,amounts)
3.2.8.4.2.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | operator | String | 是 | 签名者账户所对应的账户地址 |
接收账户地址 | to | String | 是 | |
DDC集合 | ddcs | Map<BigInteger, BigInteger> | 是 | Key:ddcId Value:amount |
3.2.8.4.3 安全转移
3.2.8.4.3.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC安全转移所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.3.2 合约事件
Ø TransferSingle(operator,from,to,ddcId,amount)
3.2.8.4.3.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | operator | String | 是 | 签名者账户所对应的账户地址 |
拥有账户地址 | from | String | 是 | |
接收账户地址 | to | String | 是 | |
DDCID | ddcId | BigInteger | 是 | |
数量 | amount | BigInteger | 是 |
3.2.8.4.4 批量安全转移
3.2.8.4.4.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC批量安全转移所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.4.2 合约事件
Ø TransferBatch(operator,from,to,ddcIds,amounts)
3.2.8.4.4.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | operator | String | 是 | 签名者账户所对应的账户地址 |
拥有账户地址 | from | String | 是 | |
接收账户地址 | to | String | 是 | |
DDC集合 | ddcs | Map<BigInteger, BigInteger> | 是 | Key:ddcId Value:amount |
3.2.8.4.5 冻结
3.2.8.4.5.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC冻结所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.5.2 合约事件
Ø EnterBlacklist(sender,ddcId)
3.2.8.4.5.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | sender | String | 是 | 签名者账户所对应的账户地址 |
DDCID | ddcId | BigInteger | 是 |
3.2.8.4.6 解冻
3.2.8.4.6.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC解冻所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.6.2 合约事件
Ø ExitBlacklist(sender,ddcId)
3.2.8.4.6.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | sender | String | 是 | 签名者账户所对应的账户地址 |
DDCID | ddcId | BigInteger | 是 |
3.2.8.4.7 销毁
3.2.8.4.7.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC销毁所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.7.2 合约事件
Ø TransferSingle(operator,from,address(0),ddcId,amount)
3.2.8.4.7.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | operator | String | 是 | 签名者账户所对应的账户地址 |
拥有账户地址 | from | String | 是 | |
DDCID | ddcId | BigInteger | 是 | |
数量 | amount | BigInteger | 是 |
3.2.8.4.8 批量销毁
3.2.8.4.8.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC批量销毁所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.8.2 合约事件
Ø TransferBatch(operator,from,address(0),ddcIds,amounts)
3.2.8.4.8.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | operator | String | 是 | 签名者账户所对应的账户地址 |
拥有账户地址 | from | String | 是 | |
DDC集合 | ddcs | Map<BigInteger, BigInteger> | 是 | Key:ddcId Value:amount |
3.2.8.4.9 URI变更
3.2.8.4.9.1 功能说明
用于对BSN-DDC-1155业务合约进行DDC资源标识符设置所产生的交易回执中的事件进行解析,并组装成所对应的数据结构。
3.2.8.4.9.2 合约事件
Ø SetURI(address indexed owner,uint256 indexed ddcId,string ddcURI)
3.2.8.4.9.3 数据结构
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
拥有者 | owner | String | 是 | |
DDC唯一标识 | ddcId | BigInteger | 是 | DDC唯一标识 |
DDC资源标识符 | ddcURI | String | 是 |
本文资料内容来源于BSN-DDC SDK详细设计-V1.0,GitHub地址为:
https://github.com/BSN-DDC/di...
欲浏览更多信息,请您点击登录查看。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。