It’s been a busy last few months and we are ready to provide another update on our progress. Our goal is to inform everyone on what the Greymass team has been working on and what is coming up next.
Listed below are all of the notable initiatives our team is working on since our last post.
For the past few years our team has been creating the pieces of the EOSIO ecosystem we need for it to become a part of our every day lives. Performing research, building prototypes, and observing how its used in the real world are all a part of this on-going process. This effort has provided us with a comprehensive understanding of the challenges both users and developers face, and we are shifting some of our efforts now into what we’d consider “big picture” planning.
To that end, we are working on documents to help describe our efforts and the vision we have for the EOSIO ecosystem. These documents will serve both as a non-technical explainer and a theoretical multi-year roadmap for future improvements, with relevant links into the technicals behind them.
As of this writing, we have divided these topics into three primary categories (subject to change):
- Authenticators/Signature Providers
- Application Registry/Authenticity/Discovery
- Standards, Protocols, and Developer Tools
The bulk of the work we have done at Greymass over the years has focused in on authenticators and tooling. Authenticators like Anchor allow users to securely interact with the blockchain, which is made possible by the standards, tooling, and protocols we (and many others) have created.
Creating a cohesive end user experience will still require significant effort in each of these categories. The goal of these new documents is to outline what will be required for viability and describe the things that could be possible if we continue to push for improvements.
We look forward to sharing our larger vision and hope you’ll be able to share in these ideas.
We continue to make solid progress on Anchor across all the platforms we support. The vast majority of our efforts right now are going towards unifying the experience across the various operating systems and improving the tools that make it all possible.
Listed below are updates for each of the individual Anchor platforms:
Still in early access, we have identified and resolved a number of bugs reported by the community.
Work continues as we look to bring the full suite of account creation tools to the Android version. We have successfully integrated and released a new version with the basic creation flow, with Android now able to create accounts on the Jungle testnet. Backup sheet generation libraries have been created and the UX to set them up during the creation flow is partially implemented. The Account Recovery UI design has been modified from iOS for Android and we have started development.
No current estimated date on leaving the “Early Access” state, but it’s towards the top of our priorities.
Version 1.2.1 has been released bringing a number of improvements and fixes. We have improved the session reliability when communicating with apps and added support for session recovery. Public keys will now always display in the newer format, issues with high-contrast accessibility settings are resolved, and an issue with expiration timers being incorrect is now fixed.
Anchor Desktop 1.2.6 has been released featuring support for the new public and private key formats. A new tool has been added to also allow conversion between the formats so users no longer have to rely on web-based tooling to do the conversions.
We have also integrated our new
buoy-client library to handle app session connectivity, which will hopefully resolve many of the connection issues users face while using the app. To achieve this, we had to invest a significant amount of effort into “modernization” of the codebase for desktop. It has been years since we upgraded many of these internal libraries and these recent connectivity issues have forced us to sit down and invest the effort into upgrading. Desktop versions of nodejs, electron, webpack, babel, and many more have been updated to more recent versions. Anchor 1.2.7 will be released in the near future with these changes.
One final note about Anchor desktop is that we’re starting to experiment with new technologies for use in a complete rewrite of Anchor on desktop (an “Anchor 2.0” of sorts). Electron, the software we build Anchor upon, is pretty demanding on the users computer resources and has some limitations we have a hard time getting around. Newer desktop frameworks offer us a chance to resolve some of these issues, but will come with a significant investment of time and effort. We have no plans to start development on 2.0 at any point soon, but are exploring our options.
Product and visual design work on the web wallet is progressing rapidly. We have landed on a name, branding, and are narrowing in on identity, colors, and designs. Our goal with this project is to become a starting point for a new users journey into an EOSIO blockchain… think “MEW for EOS”. Get a compatible authenticator, set up a new account, and easily manage your account tokens and other assets. For anything beyond the core experience, we will encourage users to use the same authenticator/account experience in other applications.
Development work on the web wallet has slowed during this time. One notable recent change however is that we have added buttons to access the web wallet from directly within Anchor (iOS/Android) for account management. Development towards improving this path between Anchor and the web wallet is underway, which is leading us to a new protocol that any web application will be able to use for ease of access!
In recent weeks we completed the first successful test of account creation from both Android and Desktop. The components are all communicating with one another and we have started integrating payment providers for each. Being that this is essentially a custom e-commerce solution, it’s taken us longer than we anticipated to roll this all out - but the work has yielded some valuable tools.
Desktop particularly has lead us to develop some powerful tools that will help drive adoption. The way we have created this system allows for account creation anywhere using new open standards. We plan on using this approach both in the desktop version of Anchor as well as in the web wallet.
- @greymass/buoy A new library to handle anchor-link websocket connections.
- Generated API documentation: https://greymass.github.io/eosio-core/
- Browser test running: https://greymass.github.io/eosio-core/tests.html
- API wrappers for v1/history spec https://github.com/greymass/eosio-core/pull/13
- Multiple minor releases for anchor-link to address bugs found by the community.
- ual-anchor updated to use newest version of anchor-link
Last month we talked briefly about setting up blockchain snapshots for a container based environment. The tests have gone well and we have swapped a number of our live APIs to use this new setup. This new approach allows us to quickly deploy servers when capacity needs rise or we have an outage.
The setup is published on Github as docker-nodeos for others to use and learn from. We also created a writeup of how it all works and how you could deploy a testnet node here on the forums:
Our previous report can be found here: