The IOTA Foundation is pleased to announce the release of Firefly 1.2.0, which introduces support for the Ledger Nano hardware wallet. It is now possible for Ledger users to migrate their funds to the new Chrysalis network, and experience the speed and reliability of the much-improved IOTA protocol. Firefly is currently available on Mac, Windows and Linux, and can be downloaded here.
Firefly version 1.2.0 comes with USB support for Ledger Nano S and Ledger Nano X devices. The feature has been thoroughly tested by a group of ~50 community members over an extended period to ensure the app experience is as smooth as possible. The in-app information around the feature has been translated into over 20 languages by the community. And the code, libraries and Ledger BOLOS application have all undergone external audits.
The migration from the legacy network to the new Chrysalis network involves moving away from addresses based on Winternitz One-Time Signature (WOTS) to reusable EdDSA addresses. These protocol changes also mean we need to migrate away from the old Ledger Nano app to a new one and from the old wallet, Trinity, to our new wallet, Firefly.
We have taken extreme care to ensure that the technical complexity of the migration is hidden from the user. Users simply need to plug in their Ledger Nano device, open Firefly and follow the steps to migrate their tokens. Similarly, users who are new to IOTA and do not need to migrate can easily set up a profile, receive tokens and enjoy the ~10s confirmation times enabled by the new Chrysalis network.
Over $1 billion (1.3 Peta IOTA) has been migrated to Chrysalis so far. With the release of Ledger Nano we expect this number to increase dramatically. Several exchanges have also been awaiting Ledger support for their own integrations and we will be working with them to help them finalize Chrysalis support.
We would like to thank the community members who have dedicated their time to testing out the integration, finding bugs and making suggestions to improve the user experience. Similarly, we would like to thank the community translators who have spent hours translating the app and making IOTA more accessible to a wider audience. You all know who you are and we want you to know how immensely thankful we are for your hard work.
Why the release took so long and lessons learned
The Chrysalis network first went live on April 28 and Ledger users have had to wait until today before they were able to migrate to Chrysalis through Firefly. We recognize that this is an unacceptable period of time and has been a frustrating period for many. It does not meet the high standards we set ourselves nor the standards expected of us by our community. In light of this, we want to share some information on what exactly happened for it to take so long, what mistakes were made, and how we will ensure protocol upgrades and new features are released more smoothly in the future. We would like to extend our gratitude for the patience of the IOTA community throughout this period.
Approaching the Chrysalis release, it became clear we would not be able to ensure Ledger support would be ready before launch. We advised users who wanted to migrate their funds sooner to first send their funds to a non-Ledger address. Given the knowledge we had at the time, we expected we would be able to complete the integration in a timely manner. Unfortunately, a series of unexpected events and setbacks during development led to much longer timeframes than initially anticipated.
Chrysalis was a colossal undertaking. It was the first time in IOTA’s history that we had taken on such a complex task, touching all parts of the IOTA stack including a total overhaul of the protocol, a complete rewrite of all libraries and wallets, and, of course, the necessary migration from (now-deprecated) WOTS addresses to EdDSA addresses in Chrysalis. The entire engineering department came together to deliver the upgrade and while we did well on many fronts, we also made some mistakes and learned where we needed to improve.
Chrysalis exposed where teams, including Firefly, were understaffed and needed more developers. We had compensated for understaffing by overworking and this is not a scalable approach, nor does it allow you the freedom to explore the full range of things you would like to work on. We have since hired upwards of 20 developers, developer advocates, and technical writers covering multiple teams across the engineering department, to ensure we can achieve our ambitious plans. Chrysalis was also an opportunity to refine many of our internal cross-team engineering practices.
We also recognize that our communication around the Ledger release was not perfect, particularly around estimated timelines and in the regularity of status updates. We did not initially provide updates across all channels, and we should not expect the wider community to read our Discord or developers’ tweets. That has since improved and we will continue to provide timely development status updates from official channels in the future.
What next for Firefly?
The next main focus is on building Firefly Mobile. We are following a similar approach to the desktop version, where we first ensure the core feature-set is robust, polished and intuitive to use before we add additional features. In parallel, we will be adding support for deep links in Firefly Desktop to enable other community applications (such as websites or web extensions) to initiate transfers in Firefly. We will also add support for sending amounts less than 1 MIOTA (which is currently prohibited due to dust protection). We look forward to sharing more information about Firefly Mobile and the upcoming features in our monthly dev status updates.
Firefly is open source and you can follow the development on our Github repo. If you would like to make feature suggestions or discuss anything related to wallets, you can join the #firefly-discussion channel on the official IOTA Discord.
So what are you waiting for? Download the new Firefly version here, and join the new Chrysalis network!