Elastos

The New Elastos Essentials

2021 is poised to be a pivotal year for the digital asset industry, with an explosion of new users, projects, and advocates emerging across the globe. User-friendly products that take into account the ever-shifting landscape of our nascent industry and take proactive steps to strategically align with industry trends will ultimately score prime position for mainstream adoption. The Trinity Tech Team is thrilled to share the bold new direction the elastOS application will take this year, and to break down how and why it will uniquely position Elastos to successfully capitalize on the opportunities for adoption that lie ahead.

In the last two years, our team has built out a fantastic foundation for the elastOS app. With the help of enthusiastic community testing, our efforts to launch on iOS and Android, and the general advancement of the industry, we have gained invaluable perspective on how elastOS should and will move forward.

Our main goal for 2021 is to create a working business model for the new Elastos Essentials. This will involve the creation and promotion of a clear marketing message that is easy for developers and users to understand. It will also involve working within the existing parameters of both app store policies and developer preferences regarding business model development. The facts of the matter are: the iOS App Store does not allow built-in apps, and developers want to run their businesses as they see fit, without running their platforms inside of another app, nor relying on its adoption. Developers want the freedom to build and market on their own terms; as developers ourselves, we understand this better than anyone.

We also aim to work more strategically with web apps, have more interaction with other blockchains, and to create a simple, efficient identity-wallet for DIDs, storage, and tokens. User experience will continue to be paramount, and past restrictions in our design prevented features like widgets and other user-friendly experience tools from taking shape. We will also lend additional focus and development resources to make our developer and user experience clearer and more intuitive, and to deliver on what our customers want by solving real world problems with real solutions. At the heart of our work is the combination of our DID technology, Carrier, and Hive. This “Trinity” is the foundation upon which developers can completely revolutionize how mobile and web apps function and how data can be moved, stored, and owned on the internet.

With all of this in mind, and a well-structured, thoughtful strategy in place for development, we are eager and excited to share our plans for the new Elastos Essentials.

The Big Picture

As it currently exists, the elastOS browser will transition to a Super-Wallet application that appears and functions identically across all platforms – Android, iOS, and desktop – and will be published under the label Elastos Essentials. Elastos’ new Super-Wallet application will provide full support for identity, storage, and token functions, as well as DID-based contacts and smart contract operations. In order to complete a full transition to Elastos Essentials, the following changes will be performed:

  • dApps will no longer operate inside elastOS, as it is no longer a browser
  • The elastOS dApp store will be removed
  • All built-in dApps will be merged into one Ionic app: the new Elastos Essentials
  • The Wallet dApp will be converted to a non-SPV (no sync) wallet with high reactivity and increased connectivity to the external blockchains such as BTC, ETH or HECO.
  • Trinity Native will be deprecated, and replaced with independent native apps, that will use the new Cordova plugins.
  • All dApp developers will build native apps exclusively (pure Android, pure iOS, or Ionic/Cordova native).
  • Elastos Cordova plugins will be provided for dApp developers to build Ionic/Cordova native apps with DID, Carrier, Hive, and other core Elastos technologies. Migration guides for converting existing dApps (Feeds, Hyper, Vouch) to pure native Ionic dApps will be supplied, as well.
  • New helper libraries will allow developers to interact with the Elastos Essentials Super-Wallet from their web or mobile dApps.
  • New web proxy technology will enable users to use their Super-Wallet from mobile and web applications.
  • An Improved UX will assist newcomers to seamlessly create a DID and wallet with less complexity.
  • A standalone website will be established for Elastos Essentials that focuses on marketing and developer documentation.
  • Voting dApps such as DPoS voting, CR Council member voting, and CR Proposal voting will be built-in.

In order to make this transition punctual and effective, the Trinity Tech team will hone in on several technical components to either augment new functions, modify existing functions, or eliminate functions that create friction.

The New Tokens Wallet

In Elastos Essentials, the new Token Wallet will act as an external RPC Wallet to offer enhanced interoperability, built-in swapping and bridging features, and improved mnemonic functions. The following changes will take place under the hood:

  • The SPV SDK usage will be replaced with RPC API calls.
  • The current wallet and SPV plugin/SDK code base will be tagged and cloned in order to resume and continue SPV wallet development in the future. But for the time being, the internal SPV wallet will no longer be maintained. Users prioritizing security may select their RPC API node to publish and receive transactions.
  • Support will be added for Ethereum and possibly Huobi’s HECO Chain, with token bridges between those chains and Elastos.
  • A built-in Tokswap integration will enable users to acquire and sell ERC20 tokens via the Elastos blockchain from the app without using any other external tools or websites. The integration will also allow users to swap and lock tokens between the Elastos blockchain and external blockchains via Shadow Tokens.
  • Mnemonics will be renamed to paper keys, and QR codes and auto-generated passphrases will be provided to users. We will also enable easy, user-friendly wallet import and export functions via Metamask.

The New Identity Wallet

Efforts concerning the Identity Wallet will be focused on integrating Hive for transfer, backup, and payment functions, and on the incorporation of widgets on the Super-Wallet homescreen. Here are the finer details:

  • Homescreen widgets will present data such as wallet balances, recent transactions, notifications, Hive storage space, contact invitations, links to suggested external native apps, and more.
  • Continued attention will be given to the integration of upcoming Hive features such as Vault backup, Vault transfer, storage payments, and management panel.

Rethinking Onboarding

Onboarding efforts will incorporate the use of paper keys, automatic DID generation and publication, mnemonics in the form of QR codes, address sharing for wallets, and wallet sharing for DIDs. The Trinity Tech team will focus on the following initiatives:

  • “Mnemonics” will be referred to as “paper keys” for the purposes of supporting new users.
  • For new users, there will be a strong compromise drawn between security and user experience: there will be no passphrase prompt – only name and DID-generation prompts with an additional security word to protect users. DIDs will be automatically published in the background, and users will be notified only when publication is finalized.
  • Users will be able to save their paper keys by printing a QR code and to import a DID by scanning a QR code.
  • For users that want to have a unique paper key, default wallets will be created using the same paper key that was used to generate their DIDs.
  • Considering that on each device Elastos Essentials will be engaged by a single individual, multiple DID sessions will be able to share wallets for the purposes of convenience.

Elastos Essentials as a Standard Ionic App

Functioning as a standard Ionic application, Elastos Essentials will use newly published Cordova plugins to house all Elastos core dApps in one place. Here’s how Trinity Tech will be doing to make that happen:

  • The current “runtime” (app manager, DID sessions, inter app communications, sandboxing) source code will be partly converted into a new, independent app manager plugin.
  • Elastos Essentials will become a native Ionic app that uses Cordova plugins for DID functions, Hive, and other core services.
  • Source code from all core dApps (Identity, Wallet, Hive Manager, Contacts, Settings, and Launcher) will be merged into a single app to make for simpler communication between modules, less technical restrictions, and a smaller binary.
  • Trinity-types and Trinity-CLI will be removed entirely, and Trinity repositories will be renamed in GitHub for the purposes of providing clarity.

New and Improved SDKs

All SDKs will be fully equipped with Cordova Plugins – here’s what it will look like:

  • Relevant Trinity plugins will be employed for standalone use in native apps, such as the DID plugin and Hive plugin.
  • Trinity plugins will also be renamed to remove any reference to “Trinity,” and they will become simple Elastos Cordova plugins, no longer bound to Trinity.
  • The new Cordova plugins will be maintained by team members who currently develop core SDKs. The Elastos Essentials team’s previous experience will serve as an invaluable source of guidance here.
  • Using the feedback of Trinity dApp SDK trial helpers, developer experience will be improved to appeal to native dApp developers setting out to build in any preferred programming language.
  • Cordova plugins will be documented on the developer portal website, as for all other SDKs.
  • In order to operate on iOS without depending on the discretion of Apple App Store representatives, all DID SDKs will embed a new feature similar to the “mini- Identity dApp” that is equipped to current Trinity native apps. An NPM plugin will first be provided for Ionic dApps to serve DIDs in this fashion.
  • Core Elastos Cordova plugins (DID, Carrier, Hive) will be proposed to the Ionic community in order to start integrating Elastos applications into their existing Ionic apps.

Elastos Essentials for Web Apps

While Elastos Essentials will continue to serve as a secure space for data transfer and storage, DIDs will function everywhere – that means both within the Elastos Essential Super-Wallet, and in the native applications that integrate it. Trinity Tech’s vision goes as follows:

  • Trinity Tech will provide various helpers to make for a smooth integration of web and mobile apps, called Elastos Essentials Connectivity SDK, without the need for a centralized service.
  • If absolutely necessary to improve user experience, Trinity Tech will provide a centralized API called the Elastos Essentials Connectivity API in order to help different devices to connect more easily.
  • These connectivity SDKs and APIs will allow web applications to sign in, pay, run a smart contract, pick a contact, and access Hive storage from a web app by asking users to confirm the operation from either their Elastos Essentials mobile app or from their Elastos Essentials desktop app.
  • Web SDKs – for instance, the DID SDK – will provide a connection helper that enables a web app to set up a secure communication channel with Elastos Essentials apps by simply scanning a QR code for initial access, and automatically with push notifications for ongoing access. This function will operate in like fashion to WeChat’s desktop sign-in feature.

Elastos Essentials for Desktop

Elastos Essentials for Desktop will undergo identical strategic shifts as will its mobile iterations:

  • Elastos Essentials for Desktop will operate identically to Elastos Essentials on Android and iOS.

Business Model

Trinity Tech will be dedicating significant attention to various means by which the Elastos Essentials Super-Wallet will be able to generate and sustain revenue streams. A number of considerations are involved:

  • Any standalone application requires a profitable business model – unless it serves as a tool for other more profitable models such as other apps developed by the same organization.
  • As a service provider, Elastos Essentials must begin generating income to support the development team in augmenting modern features and fixing issues, following the Elastos Foundation’s eventual dissolution.
  • Charging transaction fees is not popular with end users.
  • Before establishing revenue streams that involve charging end users, Elastos Essentials must prove itself uniquely useful relative to other apps.
  • When more native apps begin integrating Elastos Essentials’ core technologies, incomes may be generated by charging fees for using features such as Hive storage, token swapping, and token bridging.
  • Elastos Essentials may also remain free for a significant period in order to prioritize adoption and user retention. Under this strategy, companies leveraging various Trinity Tech’s APIs from Elastos Essentials – for instance, those needed to publish or verify a DID – may be charged fees. Elastos Essentials would then serve as an Elastos toolbox of sorts rather than a commercial platform.

Supporting dApps in the Migration Process

In order to facilitate an easy, frictionless migration for existing dApps in the Elastos ecosystem, Trinity Tech will provide the following support and assistance with the migration process:

  • Using standalone Cordova plugins instead of Trinity-types and Trinity Native plugins.
  • Replacing the missing title bar.
  • Building, running, debugging, and packaging as native applications without the Trinity-Cli toolchain.
  • Providing a migration guide on a GitHub wiki as a temporary document, and offering direct one-on-one assistance to help dApps address individual challenges in the migration process.

Establishing a Web Presence for Elastos Essentials

Trinity Tech will be developing a new website dedicated to Elastos Essentials that will both serve as a marketing portal and provide separate developer documentation. Here is the vision:

  • As a standalone product, Elastos Essentials will need its own website that provides clarity as to its properties, benefits, and general functionality so that end users and native app developers alike can engage it from an informed and prepared place.
  • In addition to marketing pages, critical technical documentation will supply guides explaining how to send “intents” to sign in, pay, and more.
  • Related technical documentation will also provide references to the Elastos Developer Portal concerning SDKs and APIs.

Laying Down a Roadmap

Although favorable macroeconomic conditions have prolonged development time horizons by virtue of increased funding, time is of the essence for the Trinity Tech team, and punctuality remains as much a priority as quality development. After thorough consideration, the team is set on the following vision:

  • Elastos Essentials requires a significant strategic shift in direction, and its full implementation will require the majority of calendar year 2021.
  • However, Trinity Tech’s objective is to implement all fundamental upgrades as efficiently as possible so as to release Elastos Essentials 2.0 at the earliest juncture.
  • Such fundamental upgrades include:
  • Merging all dApps into Elastos Essentials core functionality
  • Publishing Trinity plugins as standalone Cordova plugins
  • Assisting existing apps to smoothly migrate and release updated versions for their users.
  • At this stage, it is difficult to provide an accurate delivery date, but Trinity Tech is ambitiously targeting July 2021 for its first stable release of Elastos Essentials.
  • Following the first stable release, all ensuing upgrades will be released incrementally as they are developed.

What Existing Features Are Being Changed?

The following only highlights existing features that are being changed or removed. This does not include the various new additions such as RPC Wallet, new UX, widgets, connectivity SDK and more.

Click on the features for more information on how they change with Elastos Essentials 2021.

Runtime

Partly stopped (webviews, sandboxing, running apps list), partly migrated to a new Cordova plugin (intent manager, preferences, etc)

Trinity CLI (command line tool)

Stopped. Use of the standard Ionic toolchain to debug elastOS.

Trinity native (toolchain + runtime changes)

Stopped. Essentials code dApps don’t convert to native apps any more.

Built-in dApps (identity, hive manager, wallet, settings, launcher, contacts, scanner)

Source code kept intact + merged all in one (one angular module per app) + adjusted to use the new Cordova plugins / lack of runtime.

DID, Hive, Carrier, SPVSDK plugins

Converted to standalone Cordova plugins.

Standard Cordova plugins such as camera, file

Converted to standalone Cordova plugins if we modified them. Used as standard Cordova plugins if we didn’t modify them.

Trinity types (Typescript API interface for all plugins)

Stopped. Use of typescript interfaces from each Cordova plugin.

Trinity GitHub repos

Elastos.Trinity.* renamed to Elastos.Essentials* except for Elastos.Trinity.Plugins.* that will migrate to Elastos.Cordova.*

Trinity standard toolchain

Kept mostly as it is, but adjusted to the new changes (one dApp).

Native DID sessions

Replaced with Ionic based DID sessions in the elastOS source code.

Password manager dApp

Stopped. Removed from built-in.

elastOS dApp developer documentation on the Dev portal

Most of this documentation is no longer relevant any more, as there is no more “elastOS dApp” to be built. That section will be replaced with guides on how to build Ionic apps using the new Cordova Elastos plugins

On-going decentralized dApp store

Stopped. No longer relevant.

Assist & Vouch dApps

Assist will be removed from built-in and the API used directly. Tuum Tech could decide to make a native app, though this doesn’t make a lot of sense based on its current content. Vouch may become a native app, called by Elastos Essentials identity screens using native intents.

Developer tool dApp

Will be built-in to Elastos Essentials (merged), but hidden. Shown only when the developer mode is enabled.

As Trinity Tech coordinates relevant Elastos development teams, completes technical modifications, and prepares for the official launch of Elastos Essentials Super-Wallet on Android and iOS, stay tuned here on the official Elastos Info Blog for the latest news and releases.