A day after unleashing their proprietary ‘Open Innovation’ hub called EOSIO Labs, Block.one is back in the headlines again, this time with the Universal Authenticator Library Github repository. The fast-rising Cayman Islands-registered software tech and DApps platform made the grand announcement via its Twitter outlet.
According to the announcement posted in depth on its Medium.com channel, the UAL repository will essentially check and assess what the future holds in private key management. It will basically augment the whole task of exploring the EOSIO wallet ecosystem for the benefit of both the vibrant EOSIO developer community and this software tech and DApps platform.
Block.one’s team firmly focused on making EOSIO wallet ecosystem
EOSIO wallet ecosystem and the need for proper access key and password management greatly informed the formation of EOSIO wallet ecosystem. In the realms of Blockchain, wallets are the primary ‘connectors’ that allow people to interact with applications. But as it turns out, not so many people are interested in storing tokens compared to the millions whose interest is on the utility of Blockchain applications nowadays.
And so, for Block.one to realize a greater adoption of Blockchain-based software, it has to fully make wallets the right access key managers. It merely uses the term ‘wallet’ though it might eventually be an ‘authenticator’ once it becomes fully developed.
Development is still on-going at the EOSIO wallet ecosystem. And that’s why, instead of launching a proprietary wallet, the firm chose to present it as an Open Source Software. This alternative approach will effectively allow application developers to be part of the upgrading of the Authenticator. It is a way of giving them a chance to participate in its improvement and hopefully speed up its finalization.
Optional and Opinionated UI Layer
One distinctive feature with this Universal Authenticator Library repository is that it will grant DApp developers the freedom to integrate it to a host of authenticators. Authenticators who essentially comprise wallets, app developers and access key managers will only have to code to one, universal API.
However, it’s interesting that this repository allows them the option to also use their UI layer. Usage is optional, but very opinionated because of its characteristically consistent look and feel, different from that of the original authenticator.
That aside, any application based on it will work the normal way. After it’s integrated, it will come with the normal user experience, similar to the ordinary ‘social login or single sign-on’ and with no complex effort. Moreover, because more authenticators are on the way, adding a few more lines of code to the same will enhance everything.
The Architecture of this Universal Authenticator Library
Well, it comes with three major components namely:
It is a TypeScript library which basically serves as the fastener, binding all the three concepts of this AUL together. Essentially, it outlines the norms to be followed by the Universal Authenticator Library wallet authenticator plugins. And by so doing, it exposes a robust and reliable public API for DApp developers. All the norms, of course, come with lots of extra conveniences.
We could say they are the all-important UAL wallet plugins. Basically, they are the ones that cover each of the individual wallet APIs to form a wholly UAL-compatible covering. It’s important to note that authenticators do not form part of the innate UAL library and only exist on their own. They are codebases, written by members of the community or by independent wallet developers.
At the moment, Authenticators that are fully operational are for Scatter Desktop, Ledger, Lynx and TokenPocket. For those interested in creating others for their own uses, there’s a guide called UAL Authenticator Walkthrough with all the main details.
The Universal Authenticator Library repository is optional and opinionated because of this plugin. Renderers are plugins dedicated to the user interface and essentially ensure you get a more consistent look and feel.
Developers also rely on these plugins to seamlessly incorporate UAL into their library. Some of the most famous Renderers right now are for ReactJS and PlainJS and interested developers are encouraged to help come up with more.
It’s democratizing achievement of a seamless User Experience, or so it seems
Block.one has been one of the staunchest advocates of the full adoption of Blockchain. And knowing that the most efficient way of achieving optimized wallet usability is by enabling freedom in the operations of the market, it has rolled out the Universal Authenticator Library.
Users should be free to choose the best user experience using an authenticator of their choice. This essentially means that at the core of everything is the authenticator whose core role is to initiate rapid enhancements in the overall Blockchain user experience.
Effectively, Universal Authenticator Library will help DApp developers and everyone interested in blockchain enjoys a cool friction-free experience. With just the Universal Authenticator Library’s simplified transaction completion experience, everyone is confident of not experiencing any hitch on their preferred wallet.
You too can be part of the Universal Authenticator Library
As elucidated by Block.one, the essence of making it open-source is to allow everyone to participate in its creation. The EOSIO Labs are intended to grant interested developers an enabling environment where they’ll speed up all their innovations and discoveries. All that takes place in the MIT-licensed EOSIO Labs repositories is for the good of the EOSIO community.
However, these repositories are just experimental and will graduate to ‘Supported Status’ when the right moment arrives. Meanwhile, every community member is encouraged to participate and better the UAL repositories.
UAL documentation is available and anyone can use either of ReactJS and PlainJS to spin up an example of App for UAL. Also, anyone can add UAL to their web app, thanks to the prebuilt Renderers. And for anyone interested in improving EOSIO Labs repositories for developers, there’s an email address, [email protected] that goes directly to the developer relations team in place.
Important: Block.one and repositories are unique and independent of each other
Lastly, it is important to note that Block.one doesn’t support any of the repositories and thus isn’t answerable to any pull request, updating and pretty much any other request. Community members should, therefore, accept them as independent components of the ecosystem and use them on their projects.
Block.one will eventually grant support to developers once a projects graduate and outlive the EOSIO Labs. It will do so, pretty much the same way it is doing with Demux, EOSJS and the rest.