Frame’s Web3 dApp Wallet Version 0.6.1 Released! So What’s New?
Well, wouldncha just know it! About a month after I posted my review of version 0.5.22 of the Frame.sh wallet, the team at Frame Labs released 0.6.1 and made it obsolete overnight! Damn you Frame! *shakes fist* After taking the new version for a spin, it’s hard to stay mad at them for long though. It has all the great things I loved about the previous version, sprinkled with some new features and with a totally new paint job! Ohhh! Oohhh! and Linux users can finally feel like first class citizens now. I’m happy to report the UI issues I experienced in 0.5.22 are no longer present in 0.6.1. Thank you Frame team!
For the purpose of this article, I’m going to skip all the introductory nonsense from my previous review and assume you know how to find the Frame.sh website and how to download the correct version for your operating system. If not, go back and read the first few sections of my original review for some pointers.
Locked and Loaded, Rock And Roll Baby!
Now when you launch Frame for the first time, you’ll find the familiar framed interface. Except this time you get a quite a bit more information on first launch. Frame has included a really nice step-by-step tutorial to get you up and running, explain the features, and help you get the browser extension installed. This really adds some nice polish and provides a much improved experience for new Frame.sh users as well as those with minimal brain capacity, like myself.
Wait! I already clicked something and everything is gone!
If for some reason the tutorial gets closed and you want to run through it again, you can click the “Open Frame Tutorial” button in the middle Frame to open it again. Ok, ready now?
Hitting the Let’s Go! button will start the tutorial. Now that the setup is better refined, you’ll notice the middle frame changes during the tutorial. This makes it easy to follow along, but it also makes it easy to set all your options BEFORE you connect your wallet. Once again, thank you to the Frame team for this.
A few noteworthy settings here are the Error Reporting option, which is ON by default. Frame says this only collects errors, and only reports it anonymously. The paranoid amongst us will want to deactivate that to prevent meta data leaks. If your paranoia level is below 10, leaving it on helps the Frame.sh team improve the product. I’m happy they give you the option tho..
This is another feature that I really appreciate. In version 0.5.22, if your public key had an ENS associated with it, it would automatically be shown in the accounts list instead of they 0x public key string. While this is nice for helping you identify your accounts, it also means someone looking over your shoulder can easily associate you the person with the ENS address. So … thanks again Frame team!
The rest of the options in the panel there are basically the same from the previous version. Not a lot more to say about those. Again, thank you to the Frame team for giving me this settings panel BEFORE I add my accounts.
The Ol’ Hidey Framey Trick
Just like the previous version, hitting Alt + / or Option + / on Macs will show and hide the Frame’s …Main frame…? At any rate, this was something I was hoping would be customizable in this version. You see … I already have Alt + / mapped to something else on my system. I’ve had it mapped that way for like … 100 years and I don’t want to change it!
It would also be nice to change it for these reviews. You see, when I have Frame running on my Desktop, and Frame running inside of a VM on said Desktop … this creates a conflict. Sure … I can just close the one on my Desktop before opening the one in my VM, but often the Swiss cheese sized holes in my memory prevent that.
Also, I don’t wanna! I’m lazy and forgetful and I like it that way! Finally, sometimes I want to run the one in the VM and on my Desktop at the same time… for … uhhh … scientific purposes or something. So Frame, I hope you hear my struggle and pain and allow us to change this hotkey in the future.
Frame.sh Chain Heavy
The Frame team added several more L2’s out of the box. All the big L2’s are there, Optimism, XDai, Polygon, Arbitrum. There’s even a huge selection of testnet’s you can activate as well. When you activate a chain, you’ll get a fee estimate chart for that chain, like the one you see for the Mainnet in the screen shot above.
Add Your Own Custom Blockchains
If you click the “+ Add New Chain” button at the bottom of the accounts frame, you can also add a custom chain if the one you need isn’t added out of the box by Frame.
There’s a whole slew of options here. I like that they give you fields for both the Primary and Secondary RPC’s so your custom tokens can also have a back up end point for your transactions if the primary is unreachable.
You can even mark chains as a “testnet” and they’ll be added to the “testnet” section of your accounts, and it will be marked as a test net … you know … if you want that.
You also have the ability to customize the icon color and the icon image. You can also set the currency symbol and it will be used throughout the app.
This level of customization is very helpful and it shows the Frame team is taking the UI seriously in this version. I love customization options! Beautiful! It’s the little details that make things great isn’t it?
Customize The Default Blockchains
Of course the customization options don’t stop at new chains you add. Clicking the hamburger icon next to any chain will allow you to customize the options.
As you can see here, we can customize the default Ethereum main net connection. One great feature that I haven’t seen anywhere, is the ability to set a custom URL for block explorer links throughout the app. From an opSec perspective this is really nice. Especially if you’ve rolled a custom block explorer for your operation.
You can also set the icon for the currency. By default the icon for the Ethereum Mainnet is pulled from Coingecko. Not good OpSec since this will undoubtedly ping CoinGecko to check to see if the image is different every time you launch the app.
I haven’t sniffed the traffic for this, so Frame may only pull it once and then cache it forever, but I don’t know for sure. The paranoid will want to download the image from CoinGecko and point Frame.sh to the local copy to avoid the possibility of tracking. Hopefully someone from the Frame.sh team can clarify this.
Custom Local or Remote RPC Endpoints
Just like in the previous version you can select from a list of pre-installed public end points from organizations like Infura or Alchemy, or if you’re a Mr. Smarty Pants, you can use your own local end point running on your machine or a completely custom remote RCP.
Omnichain! One Chain To Rule Them All!
Ok, so it’s not really a single chain. It’s more like an automatic chain selector, but it’s still Frame’s best feature and I hope more dApps utilize it in the future. Omnichain allows dApps to use multiple chains at once and seamlessly move between them. As the screen shot above states, this enables truly multichain experiences. This feature has been available on the canary builds of Frame but it’s now in the stable build! Huzzah!
What The Hell Is An Omnichain for Anyway?
Well … unlike other wallets, you don’t have to switch chains to transact on them. No more opening your Optimism to send OP, no more switching to Polygon or Gnosis for your NFT’s, POAPS, or cheap L2 transactions. It’s all handled from a unified account, and it’s smart too. Apps built with Omnichain tech can take advantage of seamlessly switching between chains during the contract flow. Decentralized exchanges could greatly benefit from this during swaps between chains.
Your dApp Might Already Be Omnichain compatible
Browser Extension Chain Selector
Frame did everyone a solid. Any dApp that uses the
wallet_switchEthereumChain RPC method will work with Omnichain right now.
If an older dApp doesn’t give you the option to switch chains natively, the companion browser extension includes the extension chain selector.
This allows you to switch the chain for a single dApp without changing the chain for all future dApps. Slick man! Really slick!
How In The Heck Does The Frame.sh Omnichain Work?
So like, with your permission, dApps can request all of the available chains using a single RPC method,
wallet_getEthereumChains. Then they can route payloads to any of the chains by including a
chainId in the JSON-RPC payload, like
"chainId": "0x1" for Mainnet or
"chainId": "0xa" for Optimism. Whoah!
If none of that made sense to you, don’t worry about it. I wrote it and I don’t even know what it means. But here’s what some smart person told me, for you that means, dApps that take advantage of this Frame.sh exclusive feature, will be better and faster. So I told them, that sounds great to me, I love better and faster, and we both nodded approvingly. So there you go, it makes dApps better and faster.
My Conclusionary Statements
Overall this is a dramatic update from the Frame team. The UI is markedly better. There are more options and customizations available, and it seems to flow better. If you’ve been using the Frame canary builds, not much will seem new to you, but for those of us running the previous stable build it’s a night and day improvement.
The Omnichain tech looks cool and I hope more dApps adopt it but information about it seems to be thin right now, so only the hardest core devs need attempt full on integration right now. I hope they continue to improve the tech and innovate in this space. At this point I’m not sure Frame is even a wallet anymore, it’s quickly becoming the standard for interfacing with web3 on the Desktop. If you haven’t given Frame a try yet, now is a good time.
Waiting for them to implement new wallet creation within the wallet, I wasnt keen on importing my MM there before!
You should create a seed word with Airgap wallet or something and import it into Frame. Check out Airgap’s offline wallet generator: https://airgap.it/offline-device/
My daily wallet. Never going back to Metamask.