头图

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 数据结构
字段名字段类型必传备注
签名者senderString
链账户地址accountString添加的链账户地址
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 数据结构
字段名字段类型必传备注
链账户地址accountString添加的链账户地址
平台管理账户状态platformStateenumDDC账户对应的当前账户状态(仅平台方可操作该状态)。值包含:1.Frozen(冻结状态,无法进行DDC相关操作) 2.Active(活跃状态,可进行DDC相关操作)
运营管理账户状态operatorStateenumDDC账户对应的当前账户状态(仅运营方可操作该状态)。值包含: 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 数据结构
字段名字段类型必传备注
授权账户fromString
接收账户toString
授权标识approvedBoolean

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 数据结构
字段名字段类型必传备注
原链账户地址fromString业务费转出方链账户地址
目标链账户地址toString业务费转入方链账户地址
业务费amountBigInteger充值的业务费金额
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 数据结构
字段名字段类型必传备注
链账户地址fromString扣除业务费方链账户地址
业务合约ddcAddrString业务合约地址
方法签名sigString业务合约所对应的方法签名
业务费amountBigInteger充值的业务费金额
DDC唯一标识ddcIdBigInteger

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 数据结构
字段名字段类型必传备注
接收账户地址toString
DDCIDddcIdBigInteger
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 数据结构
字段名字段类型必传备注
拥有账户地址fromString
接收账户地址toString
DDCIDddcIdBigInteger
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 数据结构
字段名字段类型必传备注
签名者senderString签名者账户所对应的账户地址
DDCIDddcIdBigInteger
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 数据结构
字段名字段类型必传备注
签名者senderString签名者账户所对应的账户地址
DDCIDddcIdBigInteger
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 数据结构
字段名字段类型必传备注
拥有者fromStringDDC拥有者所对应的账户地址
DDCIDddcIdBigInteger
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唯一标识ddcIdBigInteger
DDC资源标识符ddcURIString

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 数据结构
字段名字段类型必传备注
签名者operatorString签名者账户所对应的账户地址
接收账户地址toString
DDCIDddcIdBigInteger
数量amountBigInteger
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 数据结构
字段名字段类型必传备注
签名者operatorString签名者账户所对应的账户地址
接收账户地址toString
DDC集合ddcsMap<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 数据结构
字段名字段类型必传备注
签名者operatorString签名者账户所对应的账户地址
拥有账户地址fromString
接收账户地址toString
DDCIDddcIdBigInteger
数量amountBigInteger
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 数据结构
字段名字段类型必传备注
签名者operatorString签名者账户所对应的账户地址
拥有账户地址fromString
接收账户地址toString
DDC集合ddcsMap<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 数据结构
字段名字段类型必传备注
签名者senderString签名者账户所对应的账户地址
DDCIDddcIdBigInteger
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 数据结构
字段名字段类型必传备注
签名者senderString签名者账户所对应的账户地址
DDCIDddcIdBigInteger
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 数据结构
字段名字段类型必传备注
签名者operatorString签名者账户所对应的账户地址
拥有账户地址fromString
DDCIDddcIdBigInteger
数量amountBigInteger
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 数据结构
字段名字段类型必传备注
签名者operatorString签名者账户所对应的账户地址
拥有账户地址fromString
DDC集合ddcsMap<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 数据结构
字段名字段类型必传备注
拥有者ownerString
DDC唯一标识ddcIdBigIntegerDDC唯一标识
DDC资源标识符ddcURIString

本文资料内容来源于BSN-DDC SDK详细设计-V1.0,GitHub地址为:

https://github.com/BSN-DDC/di...

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


BSN研习社
16 声望11 粉丝