-
Notifications
You must be signed in to change notification settings - Fork 19
Description
It would be nice if we could make this project more friendly to downstream users. At the moment it is tailored to the needs of the Liana GUI, but i think a HWI library in a compiled language is dearly needed in the Bitcoin space. And Rust seems like a good fit for this. Plus, we already have the implementation for the Ledger and Specter devices.
I tweeted about this and it looks like there is interest from other Bitcoin developers in contributing to a Rust HWI. Given the interest in using or contributing to this library, i'm happy for Wizardsardine to dedicate some resources to extend the scope of this library to a wider audience than the Liana project. Let's discuss on this issue the path forward.
Regarding the goal of the library i think there isn't much to discuss. It should aim to be a high-level interface to the largest reasonable number of Bitcoin signing devices. I would just add a requirement that output descriptors be first class citizens. I'm not sure yet how (maybe using @bigspider's wallet policies?).
Regarding the path toward this goal, i think we:
- First need to cleanup the current code. It's been a one man (@edouardparis)'s project and it could use some review (probably mine but anyone's welcome) / bit more testing.
- Make the
async
ness optional. - Re-design the main interface, the
HWI
trait, with the new goals of this library in mind. - Add support for more signing devices.
- Provide Python bindings.
- Get to feature parity with the existing Python HWI.
- ?Get the existing Python HWI to migrate to Rust HWI under the hood?
- ?Honour an MSRV and move this repo to an org that isn't our company? Rust-Bitcoin maybe?
Thoughts? People interested in contributing to or using this Rust-HWI please chime in!