Ŷoroi Wǎllet
Yoroi is an open-source and the first light wallet built for Cardano ADA users to be your gateway to Cardano’s Web3 ecosystem of dApps including DeFi and NFTs.
Last updated
Yoroi is an open-source and the first light wallet built for Cardano ADA users to be your gateway to Cardano’s Web3 ecosystem of dApps including DeFi and NFTs.
Last updated
Yoroi Wallet is one of the most important products EMURGO has built.
Our cryptocurrency light wallet is the gateway to all other products, services, and features that we are planning including an especially exciting launch announcement for Cardano Summit 2022.
However, we do acknowledge that for some time, the performance of our wallet has left a lot to be desired and we have taken the last few months to address these issues.
Now that the first phase of Yoroi’s performance improvement plan is being put into action and a major improvement is scheduled to be released in the coming weeks, we would like to take a moment to explain what challenges we faced as well as our plan going forward to build a better Yoroi.
So as we lay out our phased approach below for getting to a Future-Ready Yoroi, keep in mind that this is a journey, with several stages involved – but one that we are committed to taking.
Let’s start with some history, as EMURGO has gone through our fair share of challenges and successes over the past few years, and it helps to put where we are in context.
We’ve been developing Yoroi Wallet since 2018. Our team had grown from 5 developers to 11 by 2020.
Then right as Cardano’s user base started to rapidly grow, we experienced unfortunate changes in management and other difficulties.
We rushed to keep up with the demand and in that rush, we went down some wrong paths from a technical architecture perspective.
With new leadership this year, a seasoned Chief Technology Officer, and a dedicated technical team now on board, we’ve been able to reimagine and carefully re-engineer our product architecture, user experience, and development process.
The best way to lay out our approach is to use a Good-Better-Best (G-B-B) framework.
It’s a practical framework for Yoroi’s improvement progression and how we get to a future-ready Yoroi Wallet.
In Part 1 of our three-part series, we will cover Yoroi Good State.
In the following parts, we will discuss Yoroi Better State, and how we get to a Yoroi Future-Ready Best State. There’s a lot to cover, so let’s get started.
Decoupled vs. monolithic architecture: In the world of software, there are two types of architecture. A monolithic architecture acts and serves as a single system with components coupled together. In a decoupled software architecture, components of the system are built separately but integrated with well-defined interfaces so that a change in one component’s codebase does not impact the other. It also means that while one team is fixing one part of the app, another team can be improving another part without blocking each other.
A decoupled architecture gives Yoroi several benefits: A decoupled architecture allows developers to deploy new code for each component independently without needing to update the entire code base. This makes Yoroi easier to develop, test, and maintain, resulting in:
Better user experience due to faster signing and processing of transactions
Improvements in time to delivery of new features and UX improvements that the community wants
Freedom and flexibility to scale business logic independently from frontend UI
How we Achieved a Decoupled Architecture – Moving Yoroi’s business logic from the front end and back end: Keeping the front end free of business logic is a good software engineering practice. When too much data and business logic are processed, it impacts the performance of the wallet. So moving business logic from the front end to the back end improves the performance and maintainability of the wallet and allows us to better handle Yoroi user requests.
Knowing that moving the business logic and related data processing to the backend will ultimately provide the best user experience, we achieved further performance improvements because:
Due to the growth of transactions on Cardano, Yoroi Wallet no longer relies on db-sync as a core component when syncing UTXOs (unspent transaction outputs) between the blockchain and the wallet. We have developed an entirely new service to provide the UTXOs efficiently.
The new UTXO service also provides wallet assets, including tokens, NFTs, and user balances.