olm 2.0.4 olm: ^2.0.4 copied to clipboard
Dart bindings for Olm, an implementation of the olm and megolm cryptographic ratchets
olm Dart Bindings #
Architecture #
Using dart-olm #
Beside dart-olm, the olm library itself needs to be available.
- On Flutter for Android and iOS, depend on flutter_olm.
- On (Flutter) Web, add olm.js and include it with a script tag. We provide an olm fork to support all methods and unlimited memory. Use either an upstream JS build or our fork's JS build.
- For Windows, we provide a 32-bit DLL and a 64-bit DLL.
- On Linux, some distributions provide libolm (
apt install libolm3
for Debian Bullseye,pacman -S libolm
for Archlinux). Otherwise,scripts/prepare_native.sh
compiles libolm if it is not installed. To use it, set the environment as inscripts/test.sh
. - On MacOS, install it with Homebrew (
brew install libolm
).
For dart-olm developers #
Look at or use the scripts scripts/prepare.sh
and scripts/test.sh
.
Use codegen/codegen.sh
to update the olm functions in lib/src/ffi.dart
and to update the JS bindings based on the native bindings.