bdk-ffi icon indicating copy to clipboard operation
bdk-ffi copied to clipboard

Experimental: Support for Flutter/Dart

Open reez opened this issue 4 months ago • 5 comments

Describe the enhancement

Use bdk-ffi to generate bindings for Flutter/Dart

Additional context

Experimental repo here: https://github.com/reez/bdk-dart

Want to test 2 plugins for this:

  • The one listed on uniffi repo https://github.com/mozilla/uniffi-rs?tab=readme-ov-file#third-party-foreign-language-bindings
  • The one done by payjoin team

The uniffi repo linked one is older and seems unsupported. The pay join team one is newer and almost complete.

So I started by testing the uniffi repo linked one.

Next I (or someone) should test the payjoin team one, my thought was to create a new branch off of https://github.com/reez/bdk-dart that uses it.

reez avatar Aug 27 '25 15:08 reez

Hey... I'm the author of the unffi-dart (PayJoin team) generator... I think I can help with this one 🤔

chavic avatar Sep 09 '25 18:09 chavic

Hey... I'm the author of the unffi-dart (PayJoin team) generator... I think I can help with this one 🤔

Heck ya! Would love that 😎

reez avatar Sep 09 '25 18:09 reez

I had experimented with this earlier, however Uniffi bindings have come a long way since I started bdk-flutter

I can take a stab at it again

BitcoinZavior avatar Sep 11 '25 00:09 BitcoinZavior

I have some updates on the work, currently tracking here.

The bindings are generated, but the tests are failing, so I'm working on fixing them before I can finalize the PR.

chavic avatar Sep 22 '25 10:09 chavic

I have some updates on the work, currently tracking here.

The bindings are generated, but the tests are failing, so I'm working on fixing them before I can finalize the PR.

YES!! This is awesome @chavic ... hit me up if you need me for anything in the meantime while you're finalizing.

Was wondering your thoughts on opening up the PR against the https://github.com/reez/bdk-dart repo, since that's where it will live, bdk-ffi will only keep swift+kotlin, we are spinning out other ones to separate repos like:

  • https://github.com/bitcoindevkit/bdk-python
  • https://github.com/bitcoindevkit/bdk-java
  • https://github.com/thunderbiscuit/bdk-react-native
  • https://github.com/reez/bdk-dart

... happy to work with you on that too, the big thing is that you've got a PR working generating dart bindings!

Next I (or someone) should test the payjoin team one, my thought was to create a new branch off of https://github.com/reez/bdk-dart that uses it.

reez avatar Sep 22 '25 13:09 reez