EOSCommunity.org Forums

Greymass Roadmap - Anchor Wallet

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.

Spring 2021:

In Progress

  • Anchor Wallet for Android: Early Access Release
    • An early access release will be available on the Play Store with all networks enabled.
  • 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.

Completed

  • Anchor Wallet for Desktop: 1.2.0 through 1.2.2 released
    • Added optional transaction fees for users who are out of resources (EOS, Telos, and WAX).
    • Redesigned Resources section to support the new PowerUp model.

Winter 2021:

  • Anchor Wallet for Desktop: 1.1.6 through 1.1.12 released
    • ESR Rev3 is now implemented allowing multi-chain identity requests.
    • Fuel and Ledger now work together
    • Resolved many issues involving connectivity between dapps and Anchor.
  • Anchor Wallet for iOS: Account Creation Released
    • The iOS version now features paid account creation for EOS, Telos and WAX.
  • Anchor Wallet for Android: 0.3.0 through 0.11.0 beta releases.
    • The first alpha version of the app is now being tested by a small group of external testers!
    • Implemented sandboxed ricardian contract parser.
    • Rebuild the entire UI with a new design to match that of normal Android applications.
    • Reworked how the app responds to the physical device buttons to match a normal Android experience.
    • Working to integrate deep linking techniques for Android mobile to mobile integrations.
  • New website for Anchor Wallet to help onboard new users.

Fall 2020:

  • Anchor Wallet for Android: Development Started
    • First alpha has been released to external testers.
    • Bug fixes are underway as we move to a public release.
  • Anchor Wallet for iOS: Account Creation
    • This is available within the TestFlight build of our iOS wallet: Join the Anchor Wallet – Developer beta - TestFlight - Apple
    • 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.
  • New website for Anchor Wallet to help onboard new users.
    • Designs are in progress, development scheduled for late July or early August.

Summer 2020:

  • Anchor Wallet for iOS: Account Creation
    • This is available within the TestFlight build of our iOS wallet: Join the Anchor Wallet – Developer beta - TestFlight - Apple
    • 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 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.
  • 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.
  • 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

Early 2020:

Unscheduled Tasks:


Additional Information

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 April 22nd, 2021, a few metrics exist we can share:

  • Anchor Desktop (1.2.2) has been downloaded ~3,100 times since it’s release on April 15th.
  • Anchor Mobile (iOS, 1.1.0) has approximately ~2,300 monthly installations.

Additional information on adoption can be observed by viewing the growing list of applications that have integrated with Anchor:

Resulting Works

The following Github repositories contain the open source work that have been involved with this initiative:

Additional Links:

February 2020

Originally posted as part of an update to the WAX OIG for review in February.

Anchor is the rebranded and reimagined version of the wallet named eos-voter that Greymass launched during the genesis of the EOS blockchain for desktop and is now coming to mobile.

We are currently shifting towards the authenticator model, where the primary purpose of the wallet itself is simply to sign transactions with whatever device you’d like. This route is very similar to the EOSIO Authenticator that Block.one released a tech demo for, but instead we utilize the ESR protocol for the communication layer.

Our goal is to create a standard experience around EOSIO blockchains with a familiar and trustworthy brand.

Current Aaron and Daniel are building Anchor desktop, with Johan leading the iOS initiative. Daniel will begin prototyping out the Android application in the near future. Our designers Nick and Max are busy working on the rebranding effort.

March 2020

Originally posted as part of an update to the WAX OIG for review in March.

Updates / Change Log:
  • UPDATE - (In progress) Release of Anchor Desktop 1.0.0 (RC9 now available)
    • Released RC7, RC8 and RC9 as final round of bug testing continues.
  • UPDATE - (In progress) Version 1 release of Anchor Mobile for iOS (currently in the hands of beta testers via TestFlight, invitations available upon request)
    • Released 2 new versions of the mobile app with various fixes and improvements to the UI/UX.
  • UPDATE - (In progress) New website related to Anchor with guides/tutorials to help users understand the wallet software they are using.
    • The integration of a documentation engine into Gatsby has begun, with initial layouts/build processes being established.

May 2020

Originally posted as part of an update to the WAX OIG for review in May.

4 NEW, 1 COMPLETED, 2 UPDATES

Updates / Change Log:

July 2020

10 NEW, 5 COMPLETED

Updates / Change Log:
  • NEW (In Progress) - Anchor Wallet for iOS: Account Creation
    • 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.
  • NEW (In Progress) - 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.
  • NEW (In Progress) - 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.
  • NEW (In Progress) - 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.
  • NEW (In Progress) - 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.
  • NEW (In Progress) - Anchor Wallet for Desktop: Rebrand v3
    • Start aligning the design of the desktop wallet to match the design of mobile.
  • NEW (Completed) - Released Anchor Wallet for Desktop (1.0.5 - Release Notes)
  • NEW (Completed) - Released Anchor Wallet for iOS (1.0.0)
  • NEW (Completed) - Launch Greymass forums to create a new support platform for Anchor
  • UPDATE (Completed) - Build iOS components needed to improve mobile wallet capabilities
  • UPDATE (Completed) - swift-eosio updates to add support for Hyperion and ESR REV2

August 2020

3 UPDATES

September 2020

3 UPDATED

  • UPDATE (In Progress) - Anchor (Android): Preparing an early alpha
    • Added interface for sliding to approve or deny transactions (matching iOS).
    • Refinement of transaction approval interface.
    • Polishing user interface in preparation of public alpha.
  • UPDATE (Complete) - Anchor (iOS): Account Creation Beta Released
    • Implemented and released TestFlight version of Account Creation for Jungle 3.
    • Added ability to export export backup sheet for account.
    • Added ability to restore an account from a backup sheet
    • Reworked initial app installation to prompt for importing of key, creation of account, or restoration of backup sheet.
    • Integrated in-app purchase for account creation flow.
  • UPDATE (Complete) - Anchor (Desktop): Version 1.0.6 renamed to 1.1.0, 1.1.1 through 1.1.5 released as bug fix builds.
    • 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.

November 2020

3 UPDATED

  • UPDATE (In Progress) - Anchor (Android): 0.3.0 through 0.7.0 released.

    • The first alpha version of the app is now being tested by a small group of external testers!
    • Implemented sandboxed ricardian contract parser.
    • Rebuild the entire UI with a new design to match that of normal Android applications.
    • Reworked how the app responds to the physical device buttons to match a normal Android experience.
    • Working to integrate deep linking techniques for Android mobile to mobile integrations.
  • UPDATE (Complete) - Anchor (iOS): Account Creation Beta released

    • Bug fixes and updates related to iOS 14 release and App Store updates after breaking account creation.
  • UPDATE (Complete) - Anchor (Desktop): 1.1.6 through 1.1.8 released

    • Simplified the blockchain selection portion of the new user experience.
    • Improved ABI caching engine and resolved an issue with stale caches.
    • Resolved an issue with Cold Wallets not being able to sign transactions.
    • Fixed a bug involving token balance precision with custom tokens and non-default precision lengths.
    • Enhanced error code reporting from the API.
    • Fixed an issue with disconnections and automatic reconnections of the Link service.
    • Added a Link service control panel under Tools.
    • Optimized API call patterns to help improve application performance.
    • Resolved an issue where the warning for dangerous transactions was not displaying properly.
    • Improved support for older backups being restored into Anchor.
    • Fixed an issue with certain wallet types where the transactions would become invalid during certain network conditions.
    • Fixed issues with UTF-8 special characters in signing requests.
    • Fixed an issue with Windows builds and specific shortcuts that would cause a blank signing request prompt to appear and not easily closed.

February 2021

  • UPDATE (In Progress) - Anchor (Android): 0.8.0 through 0.11.0 released.
    • Testing continues in the Android version of the mobile app as we continue to work towards mirroring the design of our already released iOS version. The testing group has expanded and engagement has been good in helping us identify issues we otherwise wouldn’t have caught ourselves.
    • Open beta (testnet only) will soon be released.
  • UPDATE (Complete) - Anchor 1.1.0 - 1.1.4 (iOS): Account Creation released
    • The iOS version now features paid account creation for EOS, Telos and WAX.
    • We have been running limited free account giveaways for all networks as we continue to test and refine the system. So far the reception has been incredibly positive!
  • UPDATE (Complete) - Anchor (Desktop): 1.1.9 through 1.1.12 released
    • Fuel is now enabled for Ledger users.
    • The signing request prompt has been slightly redesigned.
    • ESR Rev3 is now implemented allowing multi-chain identity requests.
    • The settings area of the app has been categorized and UI refined.
    • Resolved many issues involving connectivity between dapps and Anchor.
    • Ledger tooling can now view/support multiple indexes and keys.
    • Fixed issues with watch/cold wallets
    • Added transaction fee section (when applicable) to the signing request prompts.
1 Like

April 2021

As of April 22nd, 2021, metrics in the original post have been updated.

  • Anchor Desktop (1.2.2) has been downloaded ~3,100 times since it’s release on April 15th (6 days).
  • Anchor Mobile (iOS, 1.1.5) has approximately ~2,300 monthly installations.

Development Updates

  • UPDATE (In Progress) - Anchor (Android): 0.12.0 through 0.14.0 released.
    • Testing is near completion using the testnet only version, a mainnet enabled version is about to be released.
    • The Play Store listing process has begun to allow for a better distribution of the Android app.
    • Hundreds of changes to address bugs based on the feedback of our small group of external testers.
  • UPDATE (Complete) - Anchor (Desktop): 1.2.0 through 1.2.2 released
    • In-app Transaction Fees are now available and leverage Fuel. If you perform an action from within Anchor and do not have sufficient CPU, NET, or RAM - you will now be prompted to either pay a fee to proceed or instructed to go manage your own resources. This is available for EOS, Jungle3, Telos, and WAX.
    • The Resources section has been redesigned to now display all values in their units instead of staked tokens. CPU will be measured in milliseconds (ms) and NET will be measured in kilobytes (kb).
    • Resource Renting uses PowerUp now by default on networks with it enabled, REX rentals can still be found by expanding the various sections.
    • Both Fuel and DelphiOracle feeds are now available for WAX.
    • Major performance improvements made for the desktop client.
    • Simplifying of select user interfaces, with the more advanced options still being available through the settings.
    • Added many more controls and filters to the key management section of the application.
  • UPDATE (Complete) - Anchor (iOS): 1.1.5 released
    • Fixed issues with ABI decoding on select contracts.
    • Direct Fuel integration for incoming requests that don’t include it.
    • Improved error messages returned to the user when requests fail.
    • Resolved issues with multichain login requests.
    • Implemented new anchor-link features including a bypass of the callback service on device-to-device transactions for faster request prompts.
3 Likes