ubirch provides implementations for different platforms. The embedded SDK is available for ARM mbed OS, ESP32, and Bosch XDK. The implementation should be generic enough to be portable to other C/C++ based platforms.
Additionally, for more powerful systems, a Python implementation and an SDK for node.js is available.
A generic implementation that provides the protocol-layer packaging and response verification and required encryption libraries for ARM processors. Other hardware platforms and require a port of the Ed25519 algorithm or a hardware supported implementation.
This library does not provide networking functionality, as the different platforms have varying support for sending and receiving data. The library has been successfully used using Bluetooth (trackle), Wifi (ESP32, HTTP/S) and generic modems.
To get started with development, see the C/C++ Example.
For aggregators and Linux based systems, a Python client is available. This client supports packaging and verification. software encryption and additionally provides easy access to the ubirch API. The python implementation is by far the quickest way to get started with the ubirch-protocol.
You can download and install the python library using pip:
pip install ubirch-protocol
If no platform SDK is provided, using the ubirch-protocol definition and the API documentation allows the use of the backend infrastructure without a specialized implementation.