9个版本 (5个重大更改)

0.5.0 2023年10月5日
0.4.1 2022年4月5日
0.4.0 2022年3月29日
0.3.0 2022年3月3日
0.0.0-reserve.02022年1月19日

#118数据库实现

每月 22 次下载
3 个crate中使用 (通过 bonsaidb)

MIT/Apache

1MB
19K SLoC

BonsaiDb客户端

用于访问bonsaidb-server的网络客户端。

该crate支持两种访问BonsaiDb服务器的方法:QUIC和WebSockets。

QUIC是在UDP之上构建的新协议。它设计得比TCP更可靠,并在协议级别内置TLS。WebSockets是在TCP和HTTP之上建立的协议。

BlockingClient通过实现StorageConnection trait提供对BonsaiDb的访问。 AsyncClient通过实现AsyncStorageConnection trait提供对BonsaiDb的访问。

最低支持的Rust版本 (MSRV)

虽然该项目处于alpha阶段,但我们正在积极采用当前的Rust版本。当前最低版本是1.70

WebAssembly支持

该crate支持编译到WebAssembly。当使用WebAssembly时,唯一可用的协议是WebSockets。

在浏览器中测试WebSockets

我们有一个完全部署的示例应用程序可供下载和本地运行。该示例已确认在本地机器上使用Firefox或在访问https://minority-game.gooey.rs/的任何现代浏览器上运行。

  • 确保浏览器能够与您绑定的IP/端口通信。浏览器试图防止恶意脚本。您可能需要绑定 0.0.0.0 而不是 localhost,例如,以绕过这些保护。
  • 所有基于Chrome的浏览器 要求在localhost上使用安全的WebSocket。这使得Chrome不适合在本地测试WASM应用程序,因为在一个测试/开发环境中安装有效的证书可能很棘手或令人烦恼。

功能标志

默认情况下,full 功能已启用。

  • full:启用 trusted-dnswebsockets
  • trusted-dns:启用使用 trust-dns 进行DNS解析。如果不启用,所有DNS解析都将使用操作系统的默认名称解析器。
  • websockets:启用 WebSocketbonsaidb-client 的支持。
  • password-hashing:启用使用 Argon2 进行密码身份验证的能力。
  • token-authentication:启用使用身份验证令牌进行身份验证的能力,这些令牌类似于API密钥。
  • tracing:在函数和依赖项上启用 tracing 标注。

开源许可

该项目,就像所有来自 Khonsu Labs 的项目一样,是开源的。此存储库可在 MIT 许可证Apache License 2.0 下使用。

有关更多贡献信息,请参阅 CONTRIBUTING.md

依赖项

~8–24MB
~388K SLoC