2 个不稳定版本

0.10.0 2023年8月10日
0.8.0 2023年6月8日

#6 in #sentc

自定义许可证

400KB
10K SLoC

Sentc

由 Sentclose 提供

一个端到端加密 SDK,适用于具有用户管理的开发者。

支持

  • JavaScript
  • Dart 与 flutter

包含

  • 用户管理:注册、登录、身份验证、授权
  • 群组管理:邀请或添加成员、角色管理、群组加密
  • 在浏览器和原生应用中处理大文件

从源代码构建

需求

  • Rust MRV 1.69.0
  • 对于 flutter
    • flutter_rust_bridge_codegen (cargo install flutter_rust_bridge_codegen)
    • cargo-ndk
    • llvm
    • flutter ffi (dart pub global activate ffigen)
  • 对于 JavaScript
    • wasm-pack
    • node js 最小版本 14 lts

为 Rust 构建

在当前工作空间中构建 Rust

cargo build --release

构建 JavaScript (wasm)

  1. implementation/js/sentc_wasm 中使用 wasm pack 构建
cd ./implementation/js/sentc_wasm
wasm-pack build --target web 
  1. implementation/js/sentc_wasm 中构建 TypeScript 代码
cd ./implementation/js/sentc_wasm
npm run build

构建 flutter

使用 flutter rust bridge 和 cargo-ndk 构建

  1. 在当前工作空间中生成 flutter 代码
flutter_rust_bridge_codegen --rust-input implementation/dart/sentc_flutter_rust/src/sentc.rs --dart-output implementation/dart/sentc/lib/generated.dart --llvm-path <path-to-your-llvm>
  1. 使用 cargo-ndk 在 implementation/dart/sentc_flutter_rust 中构建 android 代码
cd ./implementation/dart/sentc_flutter_rust
cargo ndk -t armeabi-v7a -t arm64-v8a -t x86 -t x86_64 -o ../sentc/android/src/main/jniLibs build --release

依赖

~5–17MB
~249K SLoC