bloock/sdk

Bloock SDK for PHP


README

Release npm PyPI Maven Packagist GoDoc

BLOOCK 在分布式账本技术的基础上,以简单、可扩展和保密的方式保证数据完整性和真实性。通过 BLOOCK,企业可以最小化在定义、开发和管理工作区块链项目时面临的主要风险和困难。

  • 易于使用
  • 高度可扩展
  • 默认隐私
  • 技术独立
  • 网络互操作性
  • 可预测的效率成本

我们期待您的反馈! 请随时在 GitHub 上创建一个问题以提出改进建议或功能请求。如果您需要支持,请联系 support@bloock.com

入门指南

  • 有关如何设置我们 SDK 的指南,请访问 设置
  • docs.bloock.com 查看我们的完整文档。

支持

如果您需要帮助,您可以加入我们的 Discord 服务器,我们的工程团队将很高兴为您提供帮助

Join Discord

语言支持

操作系统支持

概念

BLOOCK 提供与多种编程语言的直接集成(见 语言支持。为了保持统一的用户体验和等效的功能,我们在 Rust(稳定版)中实现所有功能,并通过 FFI 将每个功能桥接到每个特定语言的 SDK。

架构

为了实现不同编程语言之间的互操作性,我们使用以下元素构成的架构:

Architecture

  • Bloock Libs:包含跨不同功能使用的特定实用工具。例如:哈希算法、数字签名算法、加密算法、HTTP 通信等。
  • Bloock Core:包含每个功能的全部业务逻辑。
  • Bloock Bridge:实现类似 GRPC 的端点,并将它们与在 Core 中实现的功能连接起来。
  • 特定语言库:包含所有消费者接口,并使用不同的端点通过桥接连接到桥。

通信

不同语言之间的通信是通过使用特定语言的互操作性层和通用传输层完成的。

互操作性

大多数语言都有与另一种语言通信的能力,这称为 FFI(Foreign Function Interface),通常是通过使用 C 作为基础语言来实现的。一个例外是 JavaScript,因为浏览器不支持该功能,只能通过使用 WebAssembly 来实现。

为了支持这两种情况,我们选择 Rust 作为核心编程语言,因为它能够编译成 C 和 WebAssembly。

Interoperability

最后,为了提供全面的支持,我们为不同的操作系统和架构生成 C 构建。请参阅 操作系统支持

传输

为了最小化与 FFI 层交互的努力,尤其是 C,因为这是耗时的工作,我们使用 Protocol Buffers 和修改后的 GRPC 协议,这样我们定义内存端点,这些端点由特定语言的 SDK(客户端)调用,并由 Rust Bridge(服务器)提供服务。

Transport

许可

参见许可证