The Flow blockchain was thoughtfully designed from the ground up to cater to real-world applications and scenarios. Its architecture, optimized for high throughput and low latency, is an ideal platform for demanding applications such as gaming and DeFi. Flow's unique features, including native account abstraction and resource-oriented programming, simplify the development process and provide a more intuitive and secure way to manage digital assets.
Furthermore, Flow's cutting-edge virtual machine can execute more intricate computations than other platforms. This forms the basis for creating highly sophisticated dApps that function completely on-chain. To grasp the extent of its power, one can reference the GameBoy example, where it boots up in one atomic transaction.
With libraries and SDKs supporting popular languages like JavaScript, Go, Swift, Kotlin and Unity, Flow empowers developers to leverage their existing skills, accelerating development and reducing the learning curve.
Initiatives
There are three primary tiers of interoperability (aka composability) in Web3 that unlock truly uncensorable and unstoppable experiences: open data, open interactions, and open extensions.
- Tier 1 – Open data: On-chain application state is available for any applications to build on. E.g. - Products can access chain state for their feature set, verify tokens on-chain to gate access, and monitor DeFi market moves.
- Tier 2 – Open interactions: The assets defined on-chain can be transferred and traded via other smart contracts (e.g. trustless trading platforms, marketplaces, NFT loans, or most of Defi).
- Tier 3 – Open extensions: Smart contracts that create new functionality on existing applications can be deployed. This rare category enables several use cases that were previously difficult or impossible, including adding signature and/or edition info to existing NFTs – like adding autographs to NBA Top Shot Moments – or adding apparel to a collection such as CryptoKitties. These extensions themselves provide additional surface area for new extensions.
To make open extensions possible, Cadence will introduce a new feature called Attachments, which enables permissionless extensibility of existing composite types (i.e. structs and resources) with additional fields and methods without modifications to the original contract declaration. This feature is purely additive, with no changes or removals of existing functionality.
A few key investments are necessary to streamline the development journey for building maximally on-chain dapps:
- Enhancing Cadence Resources: With the rollout of Cadence upgrade, steps need to be taken to improve Cadence documentation and expand the tutorials available in Flow’s Playground. This includes providing more sample applications to effectively demonstrate the unique advantages of using Cadence.
- Flow CLI dapp Scaffolds: These scaffolds foster a dynamic shared resource features like state snapshots, mainnet transaction simulation, and the ability to fork testnet and mainnet.
- Flow Client Library (FCL) management: As part of the FCL roadmap, two main themes are top priorities:
- Transaction management: If support for multi-sig and multi-authorizer transactions is augmented, it will provide the capability to handle transactions authorized by multiple accounts. This enhancement will prove transformative for the construction of complex interoperable dapps.
- Account management: Iterating account storage and Child Account features are pivotal to the development of account linking applications so they can reach a state of Hybrid Custody.
- FCL React Native Documentation: Resources have been dedicated to enhance Flow’s documentation surrounding the FCL React Native, including Swift and Kotlin SDKs aiming to empower developers to build mobile-first applications on Flow more easily.
Verifiable and unpredictable randomness is essential for developers introducing entropy into on-chain gaming and NFT-based experiences to create fair and fraud-proof experiences. Accessing an unbiased and tamper-proof random number generator (RNG) enables blockchain developers to build a whole new set of applications for blockchain gaming, NFTs, lucky draws, loot boxes, and more. Without any on-chain secure random function, developers have to choose off-chain API providers or custom backend code, which is opaque and unverifiable, so end users have no proof that the randomness was not manipulated.
Currently, Flow Access API only offers non-streaming REST/gRPC endpoints. Builders wishing to track events must build clients that poll by ranges of blocks. This pattern adds several pain points, including more complex client code, juggling rate limits, and race conditions when polling is load balanced across different nodes.
Developers will benefit from consuming on-chain events by providing a simple pub/sub asynchronous event streaming endpoint. The network upgrade in June 2023 introduced Event streaming API on mainnet, and support for data indexing is planned following the event streaming work, which will enable optimally scoped queries.
Stay tuned for the proposal announcement in the Flow forum.
Current progress
The main protocol upgrade required to enable on-chain RNG is expected to be deployed in the next Flow network upgrade in Q4, 2023.
The Attachments feature is currently in development and likely to be deployed on mainnet with the Cadence release in early 2024 – although it’s available now on testnet.
The Event Streaming API is available today on mainnet, with FCL support planned for Q4 2023.
Roadmap goals
Keep reading
Quickstarts
Stay up to date with the latest news on Flow.
Stay up to date with the latest news on Flow.