Frame v0.6 is out now! Download it here: https://frame.sh
We're excited to share the work we've been doing to make web3 feel more seamless for both users and developers. With Frame v0.6, we're introducing a set of new features that make it easier to operate across multiple chains simultaneously, while also improving the clarity of the actions you take on those chains. This release marks the first in a series of updates aimed at more aggressively pushing forward the web3 experience.
Omnichain is the new routing architecture in Frame v0.6 that eliminates the concept of "being on a chain." With Omnichain, dapps can route requests to any of the user's available chains as needed, enabling users to be "on" all of their chains at the same time. This simplifies the user experience and unlocks new possibilities for dapp developers to design truly multichain experiences that operate across chains in parallel.
Importantly, Omnichain is fully backwards compatible: dapps that use
wallet_switchEthereumChain work with Omnichain and will already feel more streamlined out of the box. For legacy dapps that do not implement
wallet_switchEthereumChain, users can still manually switch chains by using the chain selector in the companion extension. When switching chains, Omnichain only changes the chain for that particular dapp, leaving all of your other dapps on their respective chains. Additionally, Frame will remember this chain selection and automatically use it for that dapp in the future.
While these improvements are already a great step forward, Omnichain was designed to take things to a new level by giving dapps the ability to route to multiple chains in parallel – this is where the Omnichain request routing interface comes in.
First, with the user's permission, dapps can now request an array of available chains using the new
wallet_getEthereumChains method. This gives dapps the ability to know which chains the user would like to use with their dapp. Then, dapps can route requests to any of those available chains using the new
wallet_request method allows dapps to provide additional request metadata to the wallet, such as which chain it should be routed to. This method is based on CAIP-27 (which Frame v0.6 also supports) with the main difference being that all of the parameters other than the request itself are completely optional. We really like this approach by the CAIP contributors, as it opens the door to a new design space for requests. We're excited to see how wallets can expand on and leverage this pattern.
Another important feature that we've designed to work hand in hand with Omnichain is transaction decoding. By fetching verified contract ABIs and decoding the calldata of a transaction locally, we can reveal important details and provide greater transparency. The new transaction user experience is designed to dynamically reveal greater and greater insights about the underlying transaction. Local ABI decoding is just the beginning, and we have more exciting developments on the way to provide rich, easily consumable, and contextually informed summaries for every transaction, improving transparency and security for all users.
Push the Boundaries
At Frame Labs, we're dedicated to building a truly web3-native platform and delivering the best user experience, while always maintaining a strong focus on our core principles of privacy, security, and decentralization.
Frame is here to help you push the boundaries of web3, and we have many more exciting things planned for 2023. We can't wait to embark on your next adventure with you!
Start exploring with Frame v0.6: https://frame.sh
Follow us on Twitter to stay up to date with our progress.
If you have any questions about v0.6, feel free to join our Discord!