Skip to content

opencanarias/taple-ffi

TAPLE FFI

TAPLE (pronounced T+🍎 ['tapəl]) stands for Tracking (Autonomous) of Provenance and Lifecycle Events. TAPLE is a permissioned DLT solution for traceability of assets and processes. It is:

  • Scalable: Scaling to a sufficient level for traceability use cases.
  • Light: Designed to support resource constrained devices.
  • Flexible: Have a flexible and adaptable cryptographic scheme mechanism for a multitude of scenarios.
  • Energy-efficient: Rust powered, TAPLE is sustainable and efficient from the point of view of energy consumption.

Foreign Function Interface (FFI) for TAPLE using Uniffi. TAPLE FFI allows to create and execute TAPLE nodes in different architectures and using different programming languages.

AGPL licensed

Discover | Learn | Build | Code

Build

Requirments

Minimium supported rust versión (MSRV) is 1.67.

Compile

$ git clone https://github.com/opencanarias/taple-ffi.git
$ sudo apt install -y libprotobuf-dev protobuf-compiler cmake
$ cd taple-ffi
$ cargo build --release
$ ls ./target/release

Generate bindings

Any Uniffi supported language with callback interfaces support can be used. For instance:

$ cargo run --bin uniffi-bindgen generate ./src/taple_uniffi.udl --out-dir ./target/bindings/kotlin --language kotlin
$ cargo run --bin uniffi-bindgen generate ./src/taple_uniffi.udl --out-dir ./target/bindings/swift --language swift
$ cargo run --bin uniffi-bindgen generate ./src/taple_uniffi.udl --out-dir ./target/bindings/python --language python

Documentation and examples

Documentation and examples are under development. If you need more information, check out the following resources.

License

This project is licensed under the AGPL license.