3 unstable releases

0.15.0 Oct 26, 2024
0.14.1 Sep 28, 2024
0.14.0 Aug 3, 2024

#1992 in Cryptography


Used in 2 crates (via sentc-crypto)

Custom license

210KB
6K SLoC

Sentc

from Sentclose

An end-to-end encryption sdk for developer with user management.

Available in:

  • Javascript for the web
  • Dart with flutter
  • Rust

Contains

  • User management: Register, login, authentication, authorisation
  • Group management: Invite or add member, role management, group encryption
  • Handling large files in browser and native

Build from source

Requirements:

  • Rust MRV 1.75.0
  • For flutter:
    • flutter_rust_bridge_codegen (cargo install flutter_rust_bridge_codegen)
    • cargo-ndk
    • llvm
    • flutter ffi (dart pub global activate ffigen)
  • For Javascript:
    • wasm-pack
    • node js min. version 14 lts

Build for rust

Build rust in the current workspace.

cargo build --release

Build javascript (wasm)

  1. Build with wasm pack in implementation/js/sentc_wasm
cd ./implementation/js/sentc_wasm
wasm-pack build --target web 
  1. Build typescript code in implementation/js/sentc_wasm
cd ./implementation/js/sentc_wasm
npm run build

Build flutter

Build with flutter rust bridge and cargo-ndk.

  1. In the current workspace, generate the flutter code
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. build the android code with cargo-ndk in implementation/dart/sentc_flutter_rust
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

Dependencies

~30MB
~656K SLoC