Skip to content

Instantly share code, notes, and snippets.

@reez
Created June 1, 2023 00:31
Show Gist options
  • Save reez/c75d198cdcf37c146fe0dd85932dacbc to your computer and use it in GitHub Desktop.
Save reez/c75d198cdcf37c146fe0dd85932dacbc to your computer and use it in GitHub Desktop.

Spiral Grant Proposal

Matthew Ramsden

GitHub: @reez

Twitter: @matthewramsden


Main Goal

Bitcoin Dev Kit native iOS (Swift) app(s)

I would build native iOS app(s) for Bitcoin Dev Kit that will be related to:

  • starter projects
  • production grade points of reference implementation
  • assisting with BDK maintainers manual testing
  • helping give shape to the BDK API
  • integrating and collaboratong on Bitcoin Design Community best practices in UI & UX

Building these will require initial build outs, but also ongoing evolution and maintainance as new features and releases come to both iOS and BDK.

These projects could also include experimental implementations for things like:

The goal would be to not only catch up with Android's sample and production apps, but also push the limits of iOS and BDK, and serve as modern fully integrated best practice implementations of both iOS and BDK.


Other Goals

ldk-node (iOS)

For someone like myself who had previously tested out LDK integration with a sample iOS app I couldn't be more excited about ldk-node and the target audience like myself. I was recently a part of a group testing out the Android and iOS bindings for ldk-node, where I collaborated with Steve on spinning up a sample iOS app to successfully test the ldk-node Swift bindings. I would like to continue this work further by trying to further improve this sample app by integrating more of the ldk-node capabilities and iOS best practices.

Bitcoin Dev Kit Scripts (iOS)

Bitcoin Dev Kit Scripts is a great project by thunderbiscuit that has a collection of scripts that make use of the Bitcoin Development Kit and some of its language bindings. I recently have contributed to the iOS (Swift) scripts as well as helped do Pull Request review, and would like to continue contributing/documenting/reviewing.

WalletUI (iOS)

WalletUI is an iOS implementation of Bitcoin UI Kit. The SDK design system includes colors, icons, button styles, text styles, and even goes a step further by including example code implementations of full screens and flows.

I created the WalletUI SDK not only to be a reusable resource for iOS developers, but also to collaborate with the Bitcoin Design Community on what best practices look like.

Bitcoin UI Kit recently had a large update at the end of February which was also its first since July 2022, so I would like to make sure WalletUI is in parity with Bitcoin UI Kit as well as keep collaborating with folks in the development and design community.

Bitcoin Development Kit Language Bindings (Rust)

I would like to contribute to bdk-ffi, and contribute not just from an iOS point of view but learn Rust along the way in order to dive in and contribute code.

This would be really advantageous for BDK and iOS developers using the bindings (and the BDK apps I would help build), because I would be able to not just understand and discover what additional things might be needed related to the bindings for developers on the Apple platform, but then be able to write the Rust code to make it happen.

LDK Swift Bindings (iOS)

Assist with ldk-swift on iOS docs, testing, and other assistance needed.

Summer of Bitcoin mentor

I am currently set to help be a Summer of Bitcoin mentor for BDK where I can help introduce that students to bitcoin open-source development as well as:

  • give guidance on iOS best practices
  • give guidance on BDK best practices
  • make sure the app is in alignment with BDK goals and can evolve if needed after Summer of Bitcoin is over

NashBitDevs

As co-organizer of NashBitDevs I would continue education of our local Bitcoin community interested in discussing and participating in the research and development of Bitcoin and related protocols and software.

Workshops/Conferences

I would like to educate and onboard developers and others in the community into the Bitcoin projects I will be working on like BDK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment