This post will serve as a wiki-style roadmap on the efforts by Greymass to build Anchor, a desktop and mobile wallet for EOSIO blockchains. Anchor is one aspect of our overall roadmap, which can be found here:
While this content of each of these aspects will be technical, it is our hope that it illustrates the inner working of our team and the contributions we have made while advancing this new product and its associated technologies.
Anchor Wallet - who, what, why?
What is Anchor? Anchor is an EOSIO wallet and authenticator made available for both desktop computers and mobile devices. It offers a secure place for EOSIO users to create and store the keys to their accounts, and the ability to securely interact with 3rd party applications.
Why is Anchor needed? Across the entire EOSIO ecosystem there is a need for a unified signature provider (aka wallet) which is easy enough for any user and is something they can trust to protect their security as well as identity. Anchor strives to meet these needs and offer an experience that helps drive adoption of all EOSIO blockchains.
Who is behind the creation of Anchor?: Members of the Greymass team started this project in mid 2018 under the generic name “eos-voter”, and have since evolved the brand into what you see today as Anchor Wallet. Development of this product includes effort from @aaron, @dafuga, and @johan from the Greymass team. Anchor also has two designers (Nick and Max) who are involved in developing the branding, design, and creation of all things visual.
Progress and Roadmap for Anchor Wallet
We will be posting regular updates in response to this post with changes as they occur, as well as maintaining this original post with an overall status of this effort.
- Anchor Wallet for iOS: Account Creation
- This is available within the TestFlight build of our iOS wallet: https://testflight.apple.com/join/huZddLBu
- We currently are working on an account creation system, which will allow a new user who downloads the app to create an account on select EOSIO networks.
- The onboarding solution will include a backup scheme for users to help them get started and secure their account.
- Anchor Wallet for iOS: Advanced Secure Enclave
- A new feature coming to mobile will be the ability to generate a key within the secure enclave, and associate your account to it.
- This feature will allow the creation of keys like a hardware wallet does, where no one (even you) will be able to directly access your private keys.
- User interface will walk users through changing their account permissions to configure their accounts.
- Anchor Wallet for Android: Development
- First prototypes are complete and undergoing internal review and testing.
- External (invite only) beta scheduled to begin this summer.
- R&D still being done about device compatibility and which Android devices we will support.
- Anchor Wallet for Desktop: Better importing of accounts
- The desktop wallet will be modified to have a similar account import process to that of mobile. The user will be prompted to import a private key, and accounts found to match the associated public key can then be imported.
- Anchor Wallet for Desktop: Rebrand v3
- Start aligning the design of the desktop wallet to match the design of mobile.
- Anchor Wallet for all platforms: Unified Signing Request Prompt
- Create a universal and familiar design for the actual signing request prompts across all platforms.
- The goal is an easy to understand interface, with both human readable information and raw data.
- New website for Anchor Wallet to help onboard new users.
- Designs are in progress, development scheduled for late July or early August.
- Released Anchor Wallet for Desktop (1.1.0 - Release Notes)
- Anchor Wallet for Desktop: Anchor Link Sessions
- Integration of the session component of ESR, allowing a more smooth experience similar to that of the iOS build.
- Allowing Anchor to remain running in the background while the main window is closed handling sessions in the background.
Added support for anchor-link sessions through the anchor-link-session-manager package.
- Anchor now has the ability to run in the background, allowing the main interface to close and still have the ability to receive and sign transactions. The application persists in the system tray (Windows/macOS/Linux) or in the dock (macOS).
- When unlocking the wallet, all wallets may optionally be unlocked at the same time.
- Accounts can now be manually imported without the need of a key lookup service.
- Account-based authorities can now be configured during the manual import process.
- Improved password creation UX during initial wallet setup.
- More fixes to the Scatter Backup import process.
- Many bug fixes released between 1.1.0 and 1.1.5.
- Updated the API performance analysis tool and enabled for WAX.
- Resolved issues with ABI cache engine and pollution across various blockchains.
- Fixed cold wallet signing after the upgrade to eosio-core broke the process.
- Fixed issues surrounding token precision when using multiple accounts, some of which had 0 balances.
- Anchor Wallet for Desktop: Anchor Link Sessions
- Released Anchor Wallet for Desktop (1.0.5 - Release Notes)
- Released Anchor Wallet for iOS (1.0.0)
- Launch Greymass forums to create a new support platform for Anchor
- Build iOS components needed to improve mobile wallet capabilities
- General EOSIO Library: https://github.com/greymass/swift-eosio
- EOSIO Key Encryption Library: https://github.com/greymass/swift-eosio-key-encryption
- Library to work with scrypt: https://github.com/greymass/swift-scrypt
- Anchor Wallet (iOS) updated onboarding process to the most simple user experience possible.
- Anchor Wallet (Desktop) version updates, release notes: 1.0.1, 1.0.2, 1.0.3, 1.0.4
- Started open beta for Anchor Wallet (iOS/Mobile)
- Release Anchor Wallet (Desktop), available April 13th, 2020.
- Rebrand/Reimagine of Anchor before the official 1.0.0 release.
- Integrate 5ms worth of free transactions from Fuel into Anchor Desktop.
- Anchor Wallet (Desktop) integration of the eosio-signing-request REV2 library for app communication.
- Feature list and issues within our Github issues: scheduled independantly
Metrics - Adoption and Usage
For the sake of privacy of our users, we do explicitly perform any additional tracking of Anchor Wallet uses across the various platforms its available. Some tracking does exist though to illustrate what sort of adoption and usage is happening, which we will outline below.
- Desktop Downloads: Github offers an API that tracks downloads and tools exist that can track these metrics. For the desktop version of Anchor, you can view download statistics here.
- Desktop Usage: Anchor for desktop collects no available usage metrics since the only external API it connects with the EOSIO API server the user specifies.
- iOS Downloads: These metrics are made available to us through Apple’s tools but are not made publicly available. Reviews on the App Store page are publicly available, but not an accurate measurement of usage.
- Android Downloads: Android is not yet released and no metrics exist yet. This will be updated once a release has been created and distributed.
As of September 16th, 2020, a few metrics exist we can share:
- Anchor Desktop (1.1.0) has been downloaded 364 times since it’s release on September 11th.
- Anchor Desktop (1.0.5) has been downloaded 6,189 times since it’s release on June 23rd.
- Anchor Mobile (iOS, 1.0.0) has approximately 350 weekly users .
Additional information on adoption can be observed by viewing the growing list of applications that have integrated with Anchor:
The following Github repositories contain the open source work that have been involved with this initiative:
- Official Site: https://greymass.com/anchor
- iOS Releases (App Store): https://apps.apple.com/us/app/anchor-wallet/id1487410877
- Desktop Releases: https://github.com/greymass/anchor/releases