Elevated Developer Experience
Cadence 1.0 represents the most significant upgrade to the language yet, introducing numerous enhancements that bring Cadence to a new level of maturity.
Cadence empowers developers to fully explore ownership, access, and possibilities in building blockchain applications, removing barriers for mainstream developers and users alike.
Whether you're creating powerful applications from scratch or building on top of existing Solidity code, Cadence offers everything developers need to build the next generation of web applications.
Mainstream Ready
Full Ownership
Access Control
Extend Solidity
Explore
Cadence 1.0
Fine-Grained
Access Control
Capabilities and entitlements are robust features that provide precise access control within smart contracts, transactions, and scripts. They enable developers to grant, revoke, and limit granular permissions for assets, accounts, and functions.
This functionality ensures projects can scale as they grow in complexity, maintain compliance with business logic, and adhere to bespoke security protocols, advanced access management, role-based access control, and temporary access requirements.
Gasless Experiences & New Business Models
Take advantage of separating transaction logic with Cadence to effortlessly offer gasless experiences sponsored by your application. Utilize protocol-level multicall to combine multiple transactions into one with a single approval.
Cadence makes it easy to program transactions that facilitate atomic swaps, make multisig calls and even set preconditions for execution.
These capabilities enable builders to implement a wide range of business models that are challenging or even impossible in traditional web3 settings, from freemium experiences to subscription services as well as remove the need for 3rd party dependencies in building your app.
Futureproof Interoperable Assets
As Web3 evolves, new use-cases and standards emerge that often break existing tokens and necessitate the creation of new ones.
Cadence allows for the creation of custom metadata at the asset level, ensuring future interoperability with applications and adherence to evolving standards while also guaranteeing backwards compatibility.
For builders metadata also unlocks features that build on or extend existing functionality such as royalties readable by any exchange or the inclusion of a creator’s social media links in their NFTs that can be imported and shown in an application’s frontend.
Moddable
Contracts
Cadence 1.0 introduces attachments, which allow for the addition of extra data and functionality without requiring permission from the original contract author.
This feature empowers communities to continuously evolve and extend products. New applications become possible, such as fact-checking in SocialFi, easily extendable games, and NFTs imbued with everything from accessories to DeFi yield bonuses for holders.
Connect
with the Community
FAQ
How does this affect me?
I am a developer
Immediate actions
- Learn & ReviewLearn about what is changing in Cadence 1.0: Update on Cadence 1.0,
- Start working on upgrading your dappYou can use Emulator release based on Cadence 1.0 RC1 now!
❗ IMPORTANT NOTE ABOUT AVOIDING CHANGES IN BUSINESS LOGIC
Cadence 1.0 introduces breaking changes. Updating your Cadence contracts, transactions and scripts to Cadence 1.0 is required to ensure your app continues to work when Crescendo is released. The on-chain data migration logic relies on assumption that the updated contracts uploaded by dapp developers limits updates to the minimum changes required by the Cadence 1.0 version - in other words, the updated contract should be behaviour-preserving.
If the contract upgrade to Cadence 1.0 also includes changes to business logic, the on-chain data migration won’t work as expected and might result in security vulnerabilities in the migrated on-chain data.
Immediate actions
- Learn & Review. Learn about what is changing in Cadence 1.0: Update on Cadence 1.0, start working on upgrading your dapp using Emulator release based on Cadence 1.0 RC1.
Soon
Decide if you want to wait until Flow completes the upgrade to Cadence 1.0, or if you want to deploy sooner, on Cadence version 0.42 (currently running on Testnet and Mainnet).
Future actions
- If you plan to deploy your dapp to Testnet / Mainnet before it is upgraded to Cadence 1.0, make sure you are prepared to upgrade it to Cadence 1.0.
I am a node operator
The network upgrade to Cadence 1.0 will follow the usual process and will include a migration of execution state. For that reason it is likely to require a longer network outage than usual.
I am not (yet) a developer/builder, but I am interested in building on Flow
You can start learning about Cadence 1.0: and start building with Cadence 1.0 using Emulator release based on Cadence 1.0 RC1.
I am a user of a app on Flow
We expect that in almost all cases, you won’t need to do anything! The dapp team should handle everything without a need for an end user to move their assets or sign transactions. But, if you’re not sure, you can reach out to the team behind the dapp and ask them about their plans to upgrade to Cadence 1.0.