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.5.1 查询交易信息
3.2.5.1.1 功能介绍
3.2.5.1.2 API定义
-
方法定义: String getTransByHash(String txHash) -
调用者:平台方、运营方; -
核心逻辑:
-
根据交易哈希查询的交易信息(不同框架自定义输出参数) -
检查签名事件是否被注册;
- 输入参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
交易哈希 | txHash | String | 是 |
- 输出参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
交易信息 | txInfo | String | 是 |
3.2.5.2 查询交易回执
3.2.5.2.1 功能介绍
3.2.5.2.2 API定义
-
方法定义: String getTransReceipt(String txHash) -
调用者:平台方、运营方; -
核心逻辑:
-
根据交易hash查询交易回执(不同框架自定义输出参数) -
检查签名事件是否被注册;
- 输入参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
交易哈希 | txHash | String | 是 |
- 输出参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
交易回执 | txReceipt | String | 是 |
3.2.5.3 查询交易状态
3.2.5.3.1 功能介绍
3.2.5.3.2 API定义
- 方法定义:Boolean getTransByStatus(String txHash)
- 调用者:平台方、运营方;
- 核心逻辑:
- 根据交易哈希查询的交易是否成功;
- 检查签名事件是否被注册;
- 输入参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
交易哈希 | txHash | String | 是 |
- 输出参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
交易是否成功 | txStatus | Boolean | 是 |
3.2.2 BSN-DDC-区块查询
3.2.6.1 获取区块信息
3.2.6.1.1 功能介绍
3.2.6.1.2 API定义
-
方法定义: String getBlockByNumber(BigInteger blockNumber) -
调用者:运营方、平台方; -
核心逻辑:
-
根据区块高度查询区块信息(不同框架自定义输出参数); -
检查签名事件是否被注册;
- 输入参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
区块高度 | blockNumber | BigInteger | 是 |
- 输出参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
区块信息 | blockInfo | String | 是 |
3.2.3 BSN-DDC-签名事件
3.2.7.1 功能介绍
3.2.7.2 事件定义
-
输入参数:签名事件类 -
输出参数:签名结果
String signEvent(SignEvent event);
3.2.7.2 数据结构
- SignEvent
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
签名者 | sender | String | 是 | |
待签名交易 | unSignTrans | Object | 是 |
本文资料内容来源于BSN-DDC SDK详细设计-V1.0,GitHub地址为: