2 unstable releases

0.10.0 Aug 10, 2023
0.8.0 Jun 8, 2023

#852 in Cryptography

37 downloads per month
Used in sentc-crypto-full

Custom license

425KB
11K SLoC

Sentc

from Sentclose

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

Available in:

  • Javascript
  • Dart with flutter

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.69.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

~4.5–6.5MB
~126K SLoC