BSN-DDC基礎網路DDC SDK詳細設計(七):資料解析

BSN研習社發表於2022-12-02

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地址為:

欲瀏覽更多資訊,請您登入檢視。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012206/viewspace-2926336/,如需轉載,請註明出處,否則將追究法律責任。

相關文章