IDX是一个新发布的SDK,旨在构建去中心化身份和用户数据管理系统。它兼容多种区块链和数据存储解决方案,帮助开发者更高效地创建Web3应用,推动去中心化身份的普及。文章详细介绍了IDX的功能、实施方法以及如何与已有的社交和区块链账户整合,适合希望了解Web3身份管理的开发者。
IDX 是来自 3Box Labs 团队的一款全新 SDK,用于通过去中心化身份和用户中心数据进行构建。IDX 目前处于 alpha 测试状态,但如果你想开始实验, 加入我们的 Discord 并进入 文档 。
Web3 设想中的开放和互操作的互联网,用户能控制他们的信息,这需要一个去中心化的跨平台身份系统。为此,IDX 是一个开源的 JavaScript/TypeScript 库,提供高层次的开发者 API,支持各种去中心化身份的元协议和标准。IDX 不仅强大且灵活,能够满足你所有的用户和数据管理需求,还将所有内容包装在一个易于使用的包中,使去中心化身份对所有 Web3 开发者都能访问。
设计旨在跨平台且高度可配置,IDX 与所有区块链、钱包,以及各种用户和应用数据存储选项兼容,包括 Ceramic, Textile, OrbitDB, Filecoin, IPFS, Sia 和 Secure Data Stores,从而可以无缝集成去中心化身份与你其他的 Web3 技术栈。利用 IDX,开发者现在可以构建更为复杂和强大的 Web3 应用程序,超越当前 Web2 的各种可能性。
如果你曾经询问过这些问题,那么你绝对应该考虑将去中心化身份系统添加到你的开发堆栈中。
去中心化身份和用户中心数据管理是复杂且广泛的能力,几乎涉及到你应用架构的每个方面。IDX 把这些以可扩展且具未来保障的方式实现的所有猜测去除了。
通过 IDX,所有应用程序都可以访问一个共享的、全球可用的身份层,该层包含统一的用户身份。IDX 100% 基于无权限协议构建,允许用户及其最重要的信息在各平台之间无缝流动和互操作,同时给予用户所需的所有权和控制力。某种程度上,IDX 提供的身份功能类似于去中心化的 Keybase,但具有更大的灵活性和去中心化程度。
一个统一的数字足迹!
每个身份的核心由 去中心化标识符 (DID) 构成,它充当全球唯一 ID,以及一个 身份索引,用于跟踪身份的信息。IDX 允许开发者部署身份并创建、读取、更新和删除与身份相关的多种元数据和信息,包括但不限于:
所有的 DIDs、身份索引和元数据都安全地存储在 Ceramic 的无权限文档管理网络上。因为所有信息都是公开可用的(但可以选择加密)并通过身份索引相互链接,任何信息都可以通过基于其他信息的查询进行交叉解析。例如,你可以根据其 DID、以太坊帐户或 Twitter 用户名查找用户的档案;或者你可以根据其波卡帐户查找用户的 Filecoin 帐户。我们正在与 The Graph 合作索引这些身份结构,从而在这个领域开启许多新的机会。
统一身份是你应用程序额外功能功能世界的大门。如果你还需要一种存储和管理用户数据的方法,你主要有三个选择。
无论你选择哪种数据存储配置,IDX 都允许所有数据都由用户控制,可以被他人发现,并且在各个平台之间可移植。这是真的,无论数据位于何处(服务器或去中心化网络)或哪个应用程序最初创建了数据。
身份索引包含对各种数据源的映射
如上所述,IDX 的关键方面在于它的身份索引,去除了信息孤岛,促进了互操作性,并使用户控制成为可能。它提供了一个标准接口,允许任何应用程序或开发者设置并查询所有属于用户的可用数据,以便他们可以在其应用程序中使用这些数据。身份索引作为每个用户的信息根,使一切都可以被发现。
为了进一步促进互操作性,身份索引允许开发者:
以下部分概述如何开始使用 IDX 进行构建。有关更多支持材料, 阅读文档。
首先,我们需要安装主要的 IDX 库和相关依赖项:
npm install @ceramicnetwork/ceramic-http-client @ceramicstudio/idx @ceramicstudio/idx-constants
然后,我们可以使用这些库将 IDX 连接到 Ceramic 网络,并与与给定 DID 相关的文档进行交互。此示例演示了如何简单查询给定用户的基本档案。
import Ceramic from '@ceramicnetwork/ceramic-http-client'
import { IDX } from '@ceramicstudio/idx'
import { definitions } from '@ceramicstudio/idx-constants'// 使用 Ceramic 开发网络
const ceramic = new Ceramic('<https://ceramic.3boxlabs.com>')// 使用 IDX 提供的定义别名
const idx = new IDX({ ceramic, definitions })// 获取支持 IDX 的已知 DID 的基本档案
async function getProfile(did) {
return await idx.get('basicProfile', did)
}
涉及身份验证和设置内容的更高级示例可以在 IDX 文档 中找到。
记住,IDX 仍处于 alpha 阶段。如果你对我们构建或者使用它的方式有任何问题、意见或反馈,请 在 Discord 上与我们联系 。
IDX 是一个由 3Box Labs 团队构建和维护的开源库,使用 💜 维护,3Box Labs 也是 3Box.js 的创建者,这是面向以太坊的领先去中心化身份和数据存储解决方案,已被 30,000+ 用户和 1,000+ 项目使用。IDX 是 3Box.js 的智能且成熟的进化版。所有使用 3Box.js 创建的 DIDs 和档案将会在库进入生产后自动迁移至 IDX。我们正在为将用户数据从空间和线程迁移到其他与 IDX 兼容的数据存储系统(包括 Ceramic、Textile 和 OrbitDB)开发各种解决方案。如果你有关于此迁移过程或时间线的问题,请与我们联系。
- 原文链接: medium.com/3box/idx-a-de...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!