Since this is a new section, this part of the report is going to be longer than usual. If this ends up being unreadable in the form viewer, I've also created a gist with this information which can be found here:
https://gist.github.com/aaroncox/f694a270f4b94fd6b3fa43e4e4ba0f30
Below are the 3 more major projects we're actively working on in the last 2 months since we reported:
- EOSIO Signing Requests
We believe this is one of the most important projects we're currently working on. No signing protocol within the EOSIO ecosystem up until this point has been able to service all device and dapp configurations, with mobile development being especially tricky. The ESR protocol sets out to creates a flexible method of relaying signature requests between applications and wallets. The specification itself is completely open source and can be implemented by any EOSIO wallet provider. The protocol currently allows communication between:
- Desktop App/Browser -> Desktop Wallet
- Desktop App/Browser -> Mobile Wallet
- Mobile App/Browser -> Mobile Wallet
- NFC/QR Code -> Mobile Wallet
Additionally, the protocol can be used to serve as a login method for a variety of frontend and backend services by proving ownership of an account through signature creation. Built-in sessions within these channels can persist these logins and be used in subsequent signing requests to prompt the user through background processes.
Currently our roadmap is:
-
2019 (Complete): Research, initial prototypes, REV1 and REV2 of the ESR Specification (https://github.com/greymass/EEPs/blob/master/EEPS/eep-7.md)
-
Spring:
- (Complete) Release of library for generating/consuming requests (https://github.com/greymass/eosio-signing-request)
- (Complete) Release of anchor-link, an identity and session management tools for ESR (https://github.com/greymass/anchor-link)
- (Complete) Release of the UAL plugin compatible with any ESR handler (https://github.com/greymass/ual-anchor)
- (Complete) Release of the UAL plugin demo (https://github.com/greymass/ual-anchor-demo)
- (In Progress) Preparing presentation materials and scheduling talks around this subject to introduce it to the developer community.
- (In Progress) Documentation around the UAL plugin demo
- (In Progress) Release of a standalone UI Kit for ESR integration (https://github.com/greymass/anchor-link-browser-transport)
- (In Progress) REV3 of the specification to include further details of identity requests and update all examples to modern code.
- (In Progress) Release of Transit plugin (https://github.com/greymass/eos-transit/tree/provider/anchor-link/packages/eos-transit-anchorlink-provider)
- (In Progress) Documentation portal on our website linking all this information in one place.
-
Summer:
- Finalize ESR v1 and publish the formal specification, moving out of the draft stage
- Rewrite our callback service layer in a compiled language for scalability (https://github.com/greymass/buoy-nodejs)
- Contribute development time to assist in integration of the ESR protocol with various open source signature providers and dapps.
-
Unscheduled:
- Rebuild the eosio.to viewer utility (https://eosio.to)
- Rebuild the ESR Payload Builder (https://greymass.github.io/eosio-uri-builder/)
Aaron, Johan, and Daniel from our team are all involved in the development of this project.
- Anchor
Anchor is the rebranded and reimagined version of the eos-voter wallet we 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.
Currently our roadmap is:
-
Spring
- A complete rebrand of Anchor before a final 1.0.0 release.
- Release of Anchor Desktop 1.0.0 (RC6 available now, RC7 release soon - greymass/anchor#802)
- Version 1 release of Anchor Mobile for iOS (currently in the hands of beta testers via TestFlight, invitations available upon request)
- New website related to Anchor with guides/tutorials to help users understand the wallet software they are using.
-
Summer
- Start moving most of our in-app interfaces out to web-based applications.
- Integrate ESR session and session management interfaces into the desktop build.
- Start work on the prototype of Anchor Mobile for Android to match the iOS experience.
- Building of an kotlin/java library that matches out swift-eosio implementation.
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.
- Custom v1 History Implementation
Since our January update we have continued to add additional components to our custom history solution. We set our sights on matching the v1 specification while focusing in on performance, scalability, and stability - all on reasonably priced servers. This new platform is built in golang and uses custom indexers to build data sets external to nodeos using BadgerDB.
Our roadmap with this history solution is:
-
Spring
- (Complete) Move account history, key associations, and controlled account indices external to nodeos.
- (Complete) Move trace data out of shared memory and into an external data set.
- (Complete) Build associated API calls to access this external data.
- (Complete) Develop an event system to deal with forking logic.
- (In Progress) Move trace retrieval process and compilation out of nodeos.
- (In Progress) Move all microservices into a containerized deployment and open up for testing
-
Summer
- Release a version 1 implementation that others are able to run.
- Start drafting a new API specification to improve on call structures, while maintaining v1 reverse compatibility.
- Deploy the custom history solution to WAX and other EOSIO chains
Currently Scott is leading development on this new software, with Aaron helping in a minor capacity.