Trappist Extra is a sample mobile decentralized app that demonstrates the integration of a light client node, which enables the app to connect, quickly sync and interact with any Substrate-based blockchains, including the Polkadot Network, in a fully trustless and decentralized way.
The app is built with Flutter, the multi-platform app development framework; smoldot, a cross-platform light client node implementation written in Rust; and the flutter_rust_bridge, a library and code generator which enable seamless integration of native rust code in a Flutter app.
This project is related to the Trappist project, a web3 developer playground built for experimenting with cross-chain applications and services built on the technologies spearheaded by the Polkadot Network.
The term Trappist refers to a style of beers brewed in Abbeys by Trappist monks, and is generally associated with authenticity, craftsmanship, integrity and tradition. Aside from any religious consideration, we like to think we put as much care in crafting Blockchain software as monks brewing high-quality beer ๐บ.
The added Extra term (also named Enkel, Single or Gold) is usually used by a brewery to describe its lightest beer. As this project is a showcase application for light clients, we found the name to be a natural fit.
As Trappist breweries are not intended to be profit-making ventures, this project is non-commercial, open-source software focused solely on experimentation and knowledge sharing with people interested in learning about decentralized technologies.
First, complete the basic Rust setup instructions. Then, follow the detailed instructions below.
Depending on the device you want to deploy on either choose Linux & Android on Linux or macOS, iOS & Android on macOS.
This is an early stage sample application, with a number of known limitations:
- Compilation of the
smoldot-flutter
library tox86_64-linux-android
&x86_64-apple-ios
targets currently fails. This prevents to run the app in an Android & IOS emulator. Investigation is ongoing to address this shortcoming (PR welcome). - Integration that has been tested with the Android app, Linux, MacOS and IOS. The last step would be to ensure it works on Windows as well. No effort will be put into the Web target though, as the Substrate Connect project is already addressing this use case by embedding a WASM light client into a web-based decentralized application.
- The code of the embedded
smoldot-flutter
library is very rough, and currently contain some hard-coded parts (e.g. connection to the Polkadot network) which should be parameterized, and made more generic for reuse in other projects.
Trappist Extra is licensed under Apache 2.