Last updated a year ago
Flutter is the fastest growing mobile app developer community but currently there's no Flutter library support in the Cardano ecosystem.
Continue adding smart contract features, APIs, data structures, tutorials and community support to open-source Flutter SDK.
This is the total amount allocated to Flutter SDK.
SDK Recap
If you browse the repository site on the pub.dev link above, you'll find the this project is well documented and architected with significant test coverage. However, what makes this SDK a truly first class Cardano client library is that it's written in 100%-pure Dart code. The majority of Cardano client libraries rely on linked Rust code for private key and address management, transaction signing and binary encoding. Although it was a lot more work to duplicate this functionality in Dart, the results are a superior developer experience, no duplicated code or linking problems and, most importantly, it guarantees this complex cryptographic code will work seamlessly on all of Flutter's supported platforms: iOS, Android, web and desktop.
Flutter Recap
Flutter is a Google-backed, cross-platform mobile development environment that generates native apps for both iOS and Android. Recently, web app support was added (see this projects live demo wallet: https://flutter-cardano-wallet.web.app)))) and Flutter will soon support desktop apps. Other Flutter strengths are fast, fluid, pixel-perfect user interfaces, rapid prototyping, excellent developer tooling and a modern, user-friendly, statically-typed, null-safe programming language.
Fund 8 Goals
The current SDK provides a solid foundation for Flutter developers to leverage the Cardano blockchain, however there is still much work to be done. In particular, smart contract high-level and user defined data structures and common off-chain client APIs found in Haskell need to be duplicated in Dart. There is still a need for tutorials, better documentation and ongoing community support . A Fund 8 grant would support the 400 hours of work, ensuring the projects momentum is not lost and the budding community is not abandoned.
The popularity rating on https://pub.dev/packages/cardano_wallet_sdk will continue to be the primary metric. However, as the SDK matures, user likes, bug reports and pull requests numbers should start to raise.
Duplicating Haskell's off-chain blockchain and smart contact support in Dart is an ambitious project. The main risk is not having enough time to complete the work and therefor funding is critical. Learning from Fund's 6 failure, reducing the requested funds by half in Fund 7 succeeded and this will be the strategy going forward, small fund requests in each fund round.
This work should be complete no late than March 31st, 2023.
Smart contracts (250 hours). - This will focus on adding more examples (namely examples from the Plutus Pioneer course), high-level datatypes, user defined datatypes, client API helper functions (like POSIX to epic conversion, . At least two common use-cases will be provided as hand-written samples. Lastly, tooling for off-chain code generation will be explored.
Tutorials (50 hours) - Write tutorials and publish on GitHub.
DApp Linking (25 hours) - Chrome browser extension version to allow wallet-DApp communication, hopefully by leveraging the fruits of the Fund 5 Cardano Connector (Metamask-like) project.
CBOR (25 hours) - Upgrade to cbor 5.x library re-write.
Official BlockFrost API (25 hours) - Migrate home-spun blockfrost API to official version.
Community Support (25 hours)
Richard Easterling is the primary developer on the Fund 5 and Fund 7 work, and has been also been immersed in the Plutus Pioneer 3rd Cohort course.
Github commits on https://github.com/reaster/cardano_wallet_sdk and test coverage.
Likes on https://pub.dev/packages/cardano_wallet_sdk exceeding 40.
Fund 7 - https://cardano.ideascale.com/c/idea/381288 - SUCCESSFUL
Fund 6 - https://cardano.ideascale.com/c/idea/368970 - FAILED
Fund 5 - https://cardano.ideascale.com/c/idea/352623 - SUCCESSFUL
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
Fund 5 & Fund 7 Recipient
4 years Flutter/Dart
10 years iOS/Android
25 years Server-side Java
6 years tooling/code generation
Enrolled in Plutus Pioneers 3rd Cohort