Flutter SDK
current project status
Current Project Status
in_progress
Total
amount
Received
$11250
Total
amount
Requested
$15000
Total
Percentage
Received
75%
$11250 Received out of $15000
Solution
Continue adding smart contract features, APIs, data structures, tutorials and community support to open-source Flutter SDK.
Problem
Flutter is the fastest growing mobile app developer community but currently there's no Flutter library support in the Cardano ecosystem.
Impact alignment
Feasibility
Value for money

Team

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

  • FlutterSDK_DarkMode_MacOS-87d168
  • FlutterSDK_DarkMode_MacOS-87d168
  • FlutterSDK_Drawer_iPadPro9_7-inch-f32d74
  • FlutterSDK_DarkMode_MacOS-87d168
  • FlutterSDK_Drawer_iPadPro9_7-inch-f32d74
  • FlutterSDK_DarkMode_MacOS-87d168

[IMPACT]

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.

[FEASIBILITY]

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.

[AUDITABILITY]

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

Community Reviews (1)

Comments

Monthly Reports

see uploaded file

Disbursed to Date
$11,250
Proposal
Flutter SDK
Status
Still in progress
Completion Target
3/31/2023
Attachment(s)
Comments 0

Login or Register to leave a comment!

Fund 8 is pending the completion of Fund 7 work.

Disbursed to Date
$11,250
Proposal
Flutter SDK
Status
Still in progress
Completion Target
4. After 6 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

I'm putting a lot of hours in to this, so it's currently moving forward at a steady pace.

Disbursed to Date
$11,250
Proposal
Flutter SDK
Status
Still in progress
Completion Target
4. After 6 months
Comments 0

Login or Register to leave a comment!

I could only spare 65 hours this month, but have continued to add CBOR features needed for smart contracts.

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

Login or Register to leave a comment!

update block frost package and adapter class

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

Login or Register to leave a comment!

Other obligations left little time for Catalyst work this month. I expect to have much more free time in December. Blockfrost update broke SDK transactions. I’m working on a fix. Ongoing work to covert Coin types to BigInteger. User support, GitHub Issue 18

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

Login or Register to leave a comment!

This moth I've been working through prerequisites for first smart contract test, including Blockfrost code, stand-alone FeeCalculationService, Certificate and it's many subclasses and supporting unit tests.

Disbursed to Date
$11,250
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!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00