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

最佳答案

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

自由印地

提供低级 API 以处理凭据和证明。它提供创建凭据请求、凭据、证明的操作。它还公开了与 Hyperldger Indy 分类账通信的操作。

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

LibVCX

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

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

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

用什么?

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

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

关于python - hyperledger indy-sdk 和 Libvcx 有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55133748/

10-10 04:41