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/,如需轉載,請註明出處,否則將追究法律責任。