completed

Flutter SDK

$15,000.00 Received
$15,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Solution

Finish the open-source Flutter SDK from Fund 5 to deliver a production ready Cardano on-ramp for Flutter mobile, web and desktop developers.

Problem:

Flutter is the fastest growing mobile app developer community but currently there's no Flutter library support in the Cardano ecosystem.

Yes Votes:
₳ 73,346,287
No Votes:
₳ 5,667,624
Votes Cast:
257

This proposal was approved and funded by the Cardano Community via Project F7: Open Source Developer Ecosystem Catalyst funding round.

  • FlutterSDK_DarkMode_MacOS-c3bf7c
  • FlutterSDK_Sliders_MacOS-11194a
  • FlutterSDK_DarkMode_MacOS-c3bf7c
  • StackOverflowMobileDevQuestions-a00c6e
  • FlutterSDK_Sliders_MacOS-11194a
  • FlutterSDK_DarkMode_MacOS-c3bf7c
  • StackOverflowMobileDevQuestions-a00c6e

Detailed Plan

Fund 5 Recap

If you browse the repository site on the pub.dev link above, you'll find the Fund 5 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, strongly-typed, null-safe programming language.

Fund 7 Goals

Although the current code base has evolved way beyond the orriginal Fund 5 prototype proposal, it is still not production ready. In particular, it does not support smart contracts, native tokens or staking. A Fund 7 grant would support the 400 hours of work still needed to push this project over the finish line:

  1. Smart contracts (150 hours). - This will focus on basic handling, verification and signing of smart contracts. At least two common use-cases will be provided as hand-written samples. Lastly, tooling for off-chain code generation will be explored.

  2. CBOR (50 hours) - Finish the Shelley binary data binding using code generation wherever possible.

  3. Native Token/NFT (25 hours) - Provide minting and burning support for Native Tokens and NFTs.

  4. Staking (25 hours) - Provide stake pool ranking and stake delegation support.

  5. Secure storage (25 hours) - Provide a cross-platform, encrypted storage solution for private keys and passwords.

  6. Multi-signature Support (25 hours) - Support multi-party signatures on scripts and contracts.

  7. Alternate Addresses (25 hours) - Support Enterprise and Pointer addresses, in addition to legacy addresses as time allows.

  8. API clean-up (25 hours) - Designing good APIs is hard. In addition to refactoring for clarity, this task would standardize the model and service interface patterns, as well as, reduce third-party dependencies.

  9. Use-case examples (25 hours) - Document common use-cases with clear, concise code examples.

  10. Test coverage (25 hours) - Plug holes in test coverage.

Community Reviews (1)

Comments

Monthly Reports

finishing fund 5 phase before starting on this phase

Disbursed to Date
$15,000
Proposal
Flutter SDK
Status
Still in progress
Completion Target
12/31/2022
Comments 0

Login or Register to leave a comment!

Have put in 76 hours refactoring code to account-based model, inboard mnemonic code.

Disbursed to Date
$15,000
Proposal
Flutter SDK
Status
Still in progress
Completion Target
12/31/2022
Comments 0

Login or Register to leave a comment!

I'm currently focused on removing third-party dependencies and improving the API before adding new features. I'm committed to total transparency: recent commits: https://github.com/reaster/cardano_wallet_sdk hours: https://docs.google.com/spreadsheets/d/1ssfPR2TJFs5XJzPg2vRo_TkkMN8zOLwgmwdjxYDVgl4/edit?usp=sharing

Disbursed to Date
$15,000
Proposal
Flutter SDK
Status
Still in progress
Completion Target
12/31/2022
Comments 0

Login or Register to leave a comment!

The project is currently undergoing an intensive, major refactor. All dependencies have been updated and in particular, the CBOR 4.0 to 5.0 change forced a re-write of the blockchain code, while slowly rolling in additional script and address type coverage. With additional funding, the emphasis has shifted to building solid foundation code, over new feature additions. https://github.com/reaster/cardano_wallet_sdk https://docs.google.com/spreadsheets/d/1ssfPR2TJFs5XJzPg2vRo_TkkMN8zOLwgmwdjxYDVgl4/edit?usp=sharing

Disbursed to Date
$15,000
Proposal
Flutter SDK
Status
Still in progress
Completion Target
12/31/2022
Attachment(s)
Comments 0

Login or Register to leave a comment!

A lot of time is currently going into this project.

Disbursed to Date
$15,000
Proposal
Flutter SDK
Status
Still in progress
Completion Target
2. In the next 3 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

I've closed Fund 7, development continues under Fund 8

Disbursed to Date
$15,000
Proposal
Flutter SDK
Status
Complete
Completion Target
4. After 6 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

I filed a close report. Just making sure I'm covered if anything needs to be wrapped up.

Disbursed to Date
$15,000
Proposal
Flutter SDK
Status
Complete
Completion Target
1. In the next month
Attachment(s)
Comments 0

Login or Register to leave a comment!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00