4

我一直在研究 hyperledger indy 框架,我想开始构建一个应用程序以开始,但我注意到有使用 Libindy 的 sdk,但也有位于 Libindy 之上的 Libvcx,但我不知道是哪个一个可以使用,因为它们似乎都做同样的事情。

4

2 回答 2

7

正如您所说,LibVCX 建立在 LibIndy 之上。

LibIndy

提供低级 API 以使用凭证和证明。它提供创建凭证请求、凭证、证明的操作。它还公开了与 Hyperldger Indy 账本通信的操作。

Libindy 不处理的是凭证交换。如果您编写发布凭证的后端和可以使用 Libindy 请求和接收凭证的移动应用程序,您将不得不提出一些通信协议来做到这一点。会是HTTP吗?ZMQ?你打算如何格式化消息?这就是 LibVCX 为您所做的。您还必须提出解决方案,当客户端离线时,如何安全地将消息和凭据从服务器传递到客户端。

LibVCX

LibVCX 是 Hyperledger Aries 规范的几个实现之一。LibVCX 建立在 LibIndy 之上,并为消费者提供 OOP 风格的 API 来管理连接、凭据、证明等。它是用 Rust 编写的,并具有可用于 Python、Javascript、Java、iOS 的 API 包装器。

LibVCX 的设计考虑了异步性。LibVCX 假设在通信的两方之间存在所谓的“代理”——一个实现某些 Indy 通信协议、接收和转发消息的代理。因此,您的后端服务器现在可以向几天前与之交谈过的人颁发并发送凭据。凭证将安全地存储在机构中,接收者可以检查机构中是否有任何新消息/凭证发给他。

您可以将代理视为一种邮件服务器。消息存储在那里,客户端可以提取其消息/凭据并在本地解密它们。

用什么?

如果您想将 IndySDK 中的技术用于特定用例并且不关心 Aries,则可以使用 vanilla libindy。

如果您想与其他应用程序和代理进行互操作的凭据交换,则应遵守 Aries 协议。LibVCX 是实现这一目标的方法之一。

于 2019-04-09T19:49:49.493 回答
1

indy-sdk 存储库是 Indy 软件,它支持构建组件(称为代理),这些组件可以与 Indy 分类帐以及彼此交互。

2019 年,在美国犹他州举行的“Connect-a-thon”上,来自各种组织的开发人员齐聚一堂,展示了一组独立开发的代理实现之间的互操作性。那时,进一步发展的想法导致了 Hyperledger Aries 的创建。如果我们有可以使用来自多个生态系统的 DID 和可验证凭证的代理怎么办?Aries 是一个工具包,专为专注于创建、传输、存储和使用可验证数字凭证的计划和解决方案而设计。其核心是使用安全消息交换信息来实现代理之间连接的协议。

Libvcx 是一个建立在 libindy 之上的 c 可调用库,它提供了一个高级凭证交换协议。它简化了代理应用程序的创建,并为 Hyperledger Indy 基础架构提供了更好的代理-2-代理互操作性。如果您想与其他应用程序和代理进行互操作的交换凭证,换句话说,如果您想遵守 Aries 协议,则需要 LibVCX。在这种情况下,LibVCX 代理可以与调解代理一起使用,它可以在两方之间实现异步通信。

于 2020-08-25T13:17:42.793 回答