This is the third edition of our Blank Wallet development update series. In this post, we’ll be taking a look at the progress made since the last update.
There have been a lot of improvements, adjustments, and feature additions to Blank Wallet since our last development update. We’ve made some changes to Blank Wallet’s UI and app background components after reviewing user feedback and conducting technical and competitive analyses.
A large number of bugs have been fixed as a result of successful alpha testing. We’ve reviewed your feedback and eliminated several UI bugs, visual displacements, and other issues such as the listing of duplicate transactions.
It’s needless to say that we’re extremely grateful to everyone who participated. We’ve sent out $BLANK token rewards to those that helped us hunt bugs. Your feedback is greatly appreciated!
To have more streamlined code and ensure trouble-free collaboration between 10 different developers, we’ve decided to switch from a single repository to a monorepo structure for Blank Wallet. A monorepo is a single repository that stores all of the code from different projects in one place. This will allow our developers to work on the wallet UI and background more independently.
Blank Wallet is now split up into several packages:
- The extension background, which includes all of the code running in the browser background script
- The extension UI, which includes all the code for the wallet interface
- The extension provider, which includes all of the code needed to support Blank’s injected blockchain provider for DApp functionality
Along with these fundamental changes to the code’s structure, several scripts to support developers, as well as CI/CD, have been added.
The Blank Provider
To support using DApps with Blank Wallet, we’ve built our own provider. The Blank provider injects a blockchain provider into sites accessed via a browser. This allows any DApp to use the Blank provider and connect to the blockchain as well as the user’s wallet.
It’s our goal to support all DApps with the Blank provider by default. To achieve this, we’re closely following the EIPs on Ethereum providers as well as deprecated methods and flows still in use. We’re currently in the process of testing our provider with popular DApps and integrating it with Blank Wallet in order to provide a stable connection.
Below you can see how Blank Wallet will interact with various DApps:
Websnarks on WebWorker
In our last development update, we discussed improving performance on privacy functionality as well as Web 3.0 support.
In order to not block other processes, we have moved the process of proof generation needed for Tornado deposits and withdrawals to a WebWorker. This effectively means that those calculations do not block other processes anymore. These changes are now also reflected in our UI.
As a result, privacy functionality is now completely asynchronous and won’t impede user experience.
Our last development update also discussed the support of additional tokens in Blank Wallet. We’ve made several adjustments to the way tokens are supported. On the background side of things, token data like balances, addresses, and logos now have to be stored. In addition, balances have to be queried, and methods like “transfer()” need to be supported. On the UI side, various views have to be adjusted to include tokens.
We’ve already made all of the necessary adjustments to the background side and will be focusing on implementing all necessary UI adjustments in the coming weeks.
Below you can see how Blank Wallet will interact with other tokens:
New Main View
As a reaction to some of the feedback we’ve received and to support some of the new functionalities such as token support and future multi-network support, we’ve decided to adjust the extension’s main view.
Besides removing the hamburger menu and relocating network selection, we’ve added an indicator to show if a user’s wallet is connected to an open DApp. We decided to highlight this indicator in the main view because of the privacy implications inherent in connecting to different DApps. Users should be able to easily check if DApps have access to their addresses at all times.
Furthermore, we added the assets tab to display tokens held by the user. For future multi-network support, we also included several categories in our design; the goal is for users to be able to check their token balances across different networks at all times.
We are currently in contact with several well-known auditing companies to audit our launch version. More information on the release, auditing process, and final feature set will be shared in later updates.
Our main focus in the coming weeks is to finalize token and Web 3.0 support and make further improvements to Blank Wallet’s UI.
Stay tuned for upcoming announcements!
About Blank Wallet
Blank is the most private, non-custodial Ethereum browser extension wallet.
Blank allows the user to easily interact with privacy smart contracts on Ethereum to hide the amounts and the origins of cryptocurrency held, in a decentralized, non-custodial, and frictionless manner.
Blank solves the problem of privacy in crypto transactions. Each time you want to make a withdrawal, Blank will create a new wallet address for you with the amount of crypto that you requested. This address originates from the smart contract where everyone’s funds are pooled. All of this is achieved using cryptographic proofs to ensure that the user cannot be linked with the original depositing address.
With crypto transactions increasing, on-chain transaction privacy is being highly discussed to keep you safe from exposing yourself. Blank has developed a system that adds the ultimate protective layer to your crypto transactions while facilitating every function that other wallets offer.
Anyone can easily install Blank and start reaping the privacy benefits in no time at all. Besides the smart contract functionality, Blank wallet offers a higher level of privacy due to Tor integration. Upcoming functionality includes DeFi web3 integrations as well as support for Metamask Snaps Plugins to allow for seamless connectivity and usage.
Reclaim privacy on your Ethereum transfers. Go Blank.