7 releases
0.8.0 | Mar 10, 2022 |
---|---|
0.7.15 | Nov 15, 2021 |
0.7.0 | Oct 28, 2021 |
#10 in #exposing
145KB
3K
SLoC
LIBSTACKMATE
A Rust-C FFI library exposing composite functionality from rust-bitcoin & bdk; to create cross-platform descriptor wallets.
Currently used by Stackmate Wallet.
Table of Contents
Acknowledgements
Immense love to our friend and sponsor Prashant Balani
for being patient and supportive throughout the 3 years of R&D that was required to make this project come to life!
Massive thanks to the bdk & cyphernode teams for all the support and feedback which saved us a lot of time and improved the quality of our work.
Overview
The entire ffi uses a string interface; defined in src/lib.rs
-
Inputs are converted into native rust types as the first sanitization step.
-
Native types are then used in pure rust modules.
-
All native structs being returned (responses and errors)
impl
ac_stringify
method which converts the native struct into stringified JSON outputted as a CString.
Test
Test everything!
bash tests/test.sh
Test individual units with printing.
cargo test -- --nocapture <test_name>
Build
bash resources/build.sh
Currently only supports android builds.
Binaries are zipped into resources/builds.zip
.
Documentation
This library expects the client to build a policy (string) by themselves - refer to http://bitcoin.sipa.be/miniscript/ for more info.
More documentation can be found in resources/docs
.
Contributions
We are looking for active contributions in the following areas:
-
General code review
-
IOS builds
-
Taproot support
-
Neutrino support
-
Lightning support
Community
Join us on the Bitcoin-only India group where we are openly working on tools required for a Bitcoin standard, within the context of India.
Discord: https://discord.gg/PdRERkyNt4
Maintainers
License
Dependencies
~24MB
~401K SLoC