You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The goal of the Flutter SDK for Flow is to make it easier for Flutter developers to interact with the Flow Network by abstracting the Flow specific logic, so that developers can focus on implementing app logic.
Problem statement
Many developers use Flutter to implement multi-platform applications from a single codebase. It supports the development of applications on six platforms: iOS, Android, Web, Windows, MacOS and Linux. Flutter excels as a cross-platform development framework by offering features such as:
Near-native performance:
Flutter uses the Dart programming language and compiles to machine code. Host devices understand this code, ensuring fast and effective performance.
Fast, consistent and customizable rendering:
Instead of relying on platform-specific rendering tools, Flutter uses Google's open-source Skia graphics library to render the user interface. This provides users with consistent visuals regardless of which platform they use to access an application.
Developer-friendly tools:
Google has developed Flutter with a focus on ease of use. Tools like Hot Reload allow developers to preview what code changes will look like without losing state.
Currently we are not offering an easy way for Flutter developers to access the Flow Network.
Target audience
Flutter developers.
Evidence for the need
Flutter is the most popular cross-platform mobile framework used by global developers. See here and here.
I am the main developer and maintainer of the Flutter Stellar SDK. The SDK has 67 Stars on GitHub and is used to access the Stellar Network. It is used by many onboarding Wallets and other applications that interact with the Stellar Network.
Flutter is often used to implement applications such as wallets but also for game development. Here is an example for game development with Flutter: SuperDash with Flutter.
Proposed solution
Implement a Flutter SDK for the Flow Network.
Impact
The Flow Flutter SDK will make it easy for Flutter developers to access the Flow Network. This SDK will increase the number of projects using the Flow Blockchain.
Milestones and funding
The Flutter SDK for Flow will be implemented with Dart, can be used on all platforms supported by Flutter and will offer following functionality:
Submit: Execute scripts and send signed transactions.
FCL: Implementation of FCL, allowing app developers to interact with user wallets.
The open source SDK will include documentation, examples and tests on GitHub. The package will be published to pub.dev.
Milestone
Deliverables
Timeline
Risks
USD proposal
1. Query Data from Flow Access Nodes
see below
6 weeks after grant approval
-
20.000
2. Execute scripts
see below
8 weeks after grant approval
-
6.000
3. Transactions, Keys and Accounts
see below
12 weeks after grant approval
-
12.000
4. FCL implementation
see below
18 weeks after grant approval
-
20.000
Maintenance
Resolving issuing and fixing bugs. Continuous improvement and expansion of the SDK in line with quarterly roadmaps.
after Milestone 4.
-
10.000 / per quarter after approved roadmap
Total funding proposed: $58.000 (Milestones 1 - 4)
Submission deliverables:
[Deliverable 1]: Query Data from Flow Access Nodes
Brief description: You can query data from any Flow Access Node using the SDK. The SDK supports both gRPC and HTTP methods of communication with Access Nodes.
How to measure completion: Source code, docs and tests available on GitHub. First release of the SDK published to pub.dev. The SDK will be able to query following data:
Blocks: Block by Id, latest block, block by height, block Header by Id, latest block Header, block header by height.
Collections: Collection by Id
Transactions: Transaction by Id, transactions by block Id.
Transaction results: Transaction result by transaction Id, transaction results by block Id.
Accounts: Account by address at latest block, account by address at block height.
Events: Events for height range, events for block Ids.
Other: Network parameters, execution result for block Id, ping
Estimated date of completion: 6 weeks after grant approval
Budget: $20.000
[Deliverable 2]: Execute scripts
Brief description: You can execute scripts at any Flow Access Node using the SDK. The SDK supports both gRPC and HTTP methods of communication with Access Nodes.
How to measure completion: Source code, docs and tests available on GitHub. A new version of the SDK is published to pub.dev. The SDK can execute scripts as follows:
execute script at latest block: executes a read-only Cadence script against the latest sealed execution state.
execute script at block id: executes a ready-only Cadence script against the execution state at the block with the given Id.
execute script at block height: executes a ready-only Cadence script against the execution state at the given block height.
Estimated date of completion: 8 weeks after grant approval
Budget: $6.000
[Deliverable 3]: Transactions, Keys and Accounts
Brief description: You can sign and submit transactions, generate keys and create accounts using the SDK.
How to measure completion: Source code, docs and tests available on GitHub. A new version of the SDK is published to pub.dev. The SDK offers following features:
Generate key pairs: ECDSA key pairs on the P-256 (secp256r1 or secp256k1) elliptic curve.
Sign transactions: In memory signing of transactions (multiple times by one or more parties)
Submit transactions: Send signed transactions to the Flow Network.
Estimated date of completion: 12 weeks after grant approval
Budget: $12.000
[Deliverable 4]: FCL implementation
Brief description: You can interact with FCL compatible wallets in order to authenticate the user and authorize transactions on their behalf.
How to measure completion: Source code, docs and tests available on GitHub. A new version of the SDK is published to pub.dev.
The SDK offers following features: configuration, discovery, authentication, pre-authz, authorization, user-signature, authn-refresh, account-proof as described in FLIP45.
Estimated date of completion: 18 weeks after grant approval
Budget: $20.000
Extended roadmap:
Keep the SDK up to date, maintain and make proposals for extending and improving the SDK (e.g. support for templates).
Flow Flutter SDK
Grant category
Developer tools / services
Description
The goal of the Flutter SDK for Flow is to make it easier for Flutter developers to interact with the Flow Network by abstracting the Flow specific logic, so that developers can focus on implementing app logic.
Problem statement
Many developers use Flutter to implement multi-platform applications from a single codebase. It supports the development of applications on six platforms: iOS, Android, Web, Windows, MacOS and Linux. Flutter excels as a cross-platform development framework by offering features such as:
Flutter uses the Dart programming language and compiles to machine code. Host devices understand this code, ensuring fast and effective performance.
Instead of relying on platform-specific rendering tools, Flutter uses Google's open-source Skia graphics library to render the user interface. This provides users with consistent visuals regardless of which platform they use to access an application.
Google has developed Flutter with a focus on ease of use. Tools like Hot Reload allow developers to preview what code changes will look like without losing state.
Currently we are not offering an easy way for Flutter developers to access the Flow Network.
Target audience
Flutter developers.
Evidence for the need
Flutter is the most popular cross-platform mobile framework used by global developers. See here and here.
I am the main developer and maintainer of the Flutter Stellar SDK. The SDK has 67 Stars on GitHub and is used to access the Stellar Network. It is used by many onboarding Wallets and other applications that interact with the Stellar Network.
Flutter is often used to implement applications such as wallets but also for game development. Here is an example for game development with Flutter: SuperDash with Flutter.
Proposed solution
Implement a Flutter SDK for the Flow Network.
Impact
The Flow Flutter SDK will make it easy for Flutter developers to access the Flow Network. This SDK will increase the number of projects using the Flow Blockchain.
Milestones and funding
The Flutter SDK for Flow will be implemented with Dart, can be used on all platforms supported by Flutter and will offer following functionality:
The open source SDK will include documentation, examples and tests on GitHub. The package will be published to pub.dev.
Total funding proposed: $58.000 (Milestones 1 - 4)
Submission deliverables:
[Deliverable 1]: Query Data from Flow Access Nodes
[Deliverable 2]: Execute scripts
[Deliverable 3]: Transactions, Keys and Accounts
[Deliverable 4]: FCL implementation
The SDK offers following features:
configuration
,discovery
,authentication
,pre-authz
,authorization
,user-signature
,authn-refresh
,account-proof
as described in FLIP45.Extended roadmap:
Keep the SDK up to date, maintain and make proposals for extending and improving the SDK (e.g. support for templates).
Team
The text was updated successfully, but these errors were encountered: