金色觀察|Ceramic:Web3數據开發協議
Ceramic 為使用可組合數據構建Web3的應用程序提供了一個去中心化網絡。Ceramic 的 API 使應用程序能夠在可擴展的去中心化數據網絡存儲、修改和檢索數據,同時保持跨應用程序數據的可組合性。
Ceramic 應用程序开發堆棧由下面列出的幾個關鍵組件組成,按從最高級別的框架到最低級別的網絡 API 的順序排列。
1. 框架
框架抽象了底層堆棧的大部分復雜性和配置,為开發人員提供了一個進入 Ceramic 开發的簡單入口。
Ceramic 最流行的框架是Self.ID SDK,是一個使用可組合的、以用戶為中心的數據構建 Ceramic 應用程序的框架。除了為各種开發環境提供完整的 Ceramic 設置之外,Self.ID 還允許用戶使用他們現有的區塊鏈錢包進行身份驗證,還包括一些最流行的數據模型,讓您可以與網絡上的數據進行开箱即用的組合,以引導您的應用程序。
2. 中間件
中間件是不屬於 Ceramic 核心協議,但為开發人員提供附加功能和便利开發工具的總稱。
Ceramic 最流行的中間件是Glaze 套件,开發人員可以在構建應用程序時與 Ceramic 客戶端一起使用。
Glaze 套件包括一組數據模型管理工具、用於基於帳戶的存儲和檢索的運行時工具,以及用於緩存來自網絡的數據的客戶端工具。
3. 數據模型
數據模型是一個或多個數據流的集合,由它們的模式和關系指定,它們定義了 Ceramic 上的單個數據結構。數據模型構成了 Ceramic 可組合性的基礎。當多個應用程序共用相同的數據模型時,它們可以共用相同的數據。通常,數據模型用於表示應用程序功能,例如社交圖譜或用戶配置文件。
最流行的 Ceramic 數據模型可以在Data Models Registry 中找到,這是一個由社區創建的 Ceramic 數據模型的开放注冊表。
4. 流
流是 Ceramic 網絡上的單個狀態實例。在 Ceramic 上創建的每個流都必須指定其流代碼,這是一個腳本,其中包含用於在收到新事務時將流的當前狀態轉換為下一個狀態的處理邏輯。通常,您可以將流代碼視為可重用的狀態處理邏輯,將流視為它生成的各個狀態。
目前Ceramic 支持兩種類型的流:tile 文檔,它存儲帶有模式驗證的可變 JSON 文檔,以及CAIP-10 鏈接,它存儲 Web3 錢包帳戶和 Ceramic 帳戶之間的鏈接。
5. 账戶
帳戶是 Ceramic 上的用戶實體,可以擁有流並向這些流提交交易。Ceramic账戶符合去中心化身份基金會 (DIF) 概述的標准去中心化標識符 (DID) 規範。DID 非常有用,因為它們可以將 Ceramic 帳戶與任何單個 Web3 錢包地址或公鑰解綁,允許用戶從一個或多個 Web3 錢包帳戶控制同一個 Ceramic 帳戶,並在此過程中提供抽象以啓用真正的跨鏈帳戶.
最流行的帳戶客戶端是DID JSON-RPC 客戶端,它提供標准帳戶 API,必須與 Ceramic 客戶端一起使用,以使經過身份驗證的帳戶能夠在網絡上執行交易。DID 客戶端目前支持兩種不同的账戶類型:3ID DID,允許從多個 Web3 錢包地址控制一個 Ceramic 账戶,以及Key DID,它只能由一個 Web3 錢包地址控制。
6. 客戶端
客戶端庫允許您的應用程序連接到 Ceramic 節點。不同的客戶端可能會選擇實現不同的高級、特定於語言的开發人員 API。在向 Ceramic 節點提交請求之前,客戶端會將這些 API 調用轉換為標准 Ceramic HTTP API,用於與 Ceramic 節點進行實際通信。
Ceramic 上最受歡迎的客戶端是JS HTTP 客戶端,它允許开發人員使用 JavaScript 將他們的應用程序連接到 Ceramic。
7. 網絡 API
Ceramic HTTP API 是 Ceramic 的最低級接口。每個客戶端和節點都在後臺使用它進行通信。除非應用程序开發人員特別需要使用 HTTP,否則大多數人從不需要直接與此 API 交互,而是通過對开發人員更友好的客戶端 API 訪問它。然而,希望用新語言編寫客戶端的協議开發人員將需要使用此規範。
8.核心協議
CIP-11“身份索引”(通常稱為“IDX”)是一種去中心化身份協議,它使开發人員可以輕松構建具有用戶控制流的應用程序來存儲數據,以及發現和利用在第三方應用程序。使用 IDX 構建允許用戶以獨立於任何單個應用程序的方式控制其身份和數據,同時允許开發人員構建數據豐富的應用程序,而無需在集中式服務器上保管用戶數據或強制用戶重新創建的糟糕用戶體驗每個應用程序上的相同數據。
IDX 旨在存儲“用戶”數據,因為這是它的主要用例。然而,IDX 可用於存儲由 DID 表示的其他類型主體的數據,例如企業、組織、應用程序、資產 (NFT) 或設備 (IoT)。
DID 兼容性:IDX 不提供DID,但依賴它們來提供分散的、與平臺無關的標識符。IDX 可以使用 Ceramic 中支持的任何 DID 方法。
基於流的存儲:將用戶或應用程序的數據存儲在 Ceramic 上用戶控制的流中。流中的數據可以明文或加密形式存儲。IDX 創建的流享有 Ceramic 網絡提供的可變性、持久性、復制和可用性的所有好處。
身份中心:每當用戶通過 IDX 將數據存儲在新流中時,其streamID都會自動注冊到他們的索引中,這是一個單獨的流,用作對其所有數據的引用的單一目錄。該索引使用戶的所有數據關聯都存在於一個位置,這反過來又使任何應用程序都可以通過簡單地查詢其索引來發現有關用戶的所有數據。
公共、語義數據描述:通過 IDX 存儲的所有數據都在用戶索引中進行語義描述和組織,允許多個應用程序根據模式和元數據使用相同的數據,而不是用戶首次創建數據時使用的應用程序。
跨應用程序數據可移植性:DID、流、集线器和語義數據描述的組合允許用戶數據以與應用程序無關的方式存儲,並且可以跨不同的應用程序或接口使用。沒有應用程序維護“特殊權限”,因為用戶可以完全控制。
標准接口:IDX 為與所有數據交互提供了標准化的讀/寫 API,因此應用程序永遠不會被迫集成一次性 API。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。