0
点赞
收藏
分享

微信扫一扫

BSN-DDC基础网络DDC SDK详细设计(七):数据解析

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/did-sdk​​

欲浏览更多信息,请您点击登录查看。

举报

相关推荐

0 条评论