Elastos Runtime and Trinity Update
Elastos Runtime is arguably one of the most important pillars of the Elastos ecosystem. It acts as an application engine that runs on top of existing operating systems which developers can utilize to build dApps. Many community members are curious about when the completed Trinity browser and Runtime infrastructure will be available for developers and users alike. This article serves as a comprehensive progress update and will hopefully give you an idea of what to expect in the future. Benjamin from the Trinity team was gracious enough to spend time with CR Press to give us an update.
One of the first topics of discussion was Base Blocks, a comprehensive SDK which developers require to build apps on Trinity with the ability to take advantage of the other services on Elastos (ELA mainchain, ETH sidechain, DID, Hive Carrier, etc). “Base blocks includes easy setup, good tools to create and debug and publish dapps, documentation to understand the basics, and a runtime layer ready to start/stop dApps and communicate with each other,” Benjamin explained.
Recently, the Trinity team has been focused on creating a suite of tools for developers including a clear cut template that contains information on debugging, publishing, and downloading a dApp into the dApp store. All of these functions help link together developers and early users. As stated above, the inter-application communication between different apps on Trinity is something that’s currently being worked on. Benjamin uses the example of how “…a game app could request the wallet app to make a payment on behalf of a user or use another app to sign in utilizing the user’s respective DID”. The team is gearing towards an end-of-year release for developers to start building full-fledged dApps.
Currently, developers and early users of Trinity have a centralized store where all dApps are being developed and tested. Though the process is not decentralized yet, dApps still need to have their DID’s verified in order to be published and installed on to Trinity. Benjamin discusses the future of a dApp sidechain that will host all Trinity dApps, “There is no plan for this yet. The most important task for the Trinity team now is to make sure that developers can start good and useful dApps inside Trinity, which means providing a full development environment including usable tools, easy to understand documentation, stable plugins, runtime with advanced features, etc. A centralized server works well for that at this time. The Blockchain team is quite busy with building ETH sidechain, CR voting technology, and the new DID side chain. They don’t have much time for a dApp store sidechain for now.”
As explained in Elastos Academy’s Runtime/Trinity article, there is a dApp cycle each developer needs to go through in order to properly build and publish their dApp on Trinity. The first step is to build an Ionic dApp utilizing various Cordova/Elastos plugins in the browser, i.e. Carrier, camera plug-in, etc. Benjamin explained that all Cordova plugins (camera, vibrations, accelerometer, etc) and Elastos plugins (Carrier, Hive, SPV wallet, ETH Side Chain) are 100% completed and are ready to use with the exception of DID, which is around 70% completed.
The second and third step of the dApp lifecycle is using toolchain scripts in order to convert an Ionic dApp to an Elastos dApp which can then be signed/verified using DID to publish onto Trinity. The Trinity team has already built a toolchain script called “Trinity-cli”. It’s used to create new apps, run them on a device for debugging, and then publish them onto the Elastos app store. In the next few weeks the Trinity team will fully implement the ability to generate a developer DID and sign EPK’s using them. The fourth step includes registering the dApp on the dApp sidechain (to be implemented in the future) with the dApp center automatically displaying the registered dApp’s details including the developer’s DID. Finally, users are free to download, install, and run the dApp on Trinity.
Trinity lists its roadmap on Github. Regarding 2019 Q4 and 2020 Q1, the team is on time with most of their goals. The following tasks have been put on the back burner, for now:
- Automated testing
- DApps Community Programme (Once planned for FundMyDapps, but will re-discuss with the Elephant Wallet team)
- Voting in dApps (Not started yet. Team will let the ELA Wallet implement voting most of their use cases before it’s done in a dApp)
- DMA Lite for Trinity (Will discuss with the DMA Team)
The Trinity team consists of seven active members. One works on Runtime exclusively, one developer focusses on launcher/testing/dApps, and one Project Manager and four developers work on plugins.
Benjamin assumes the role of the Project Manager. He explained that the development of this project is always ongoing and will continue to be worked on, “Trinity development can never really be ‘finished’. We in-parallel integrate Elastos modules and upgrade them as they evolve (SPV Wallet, DID Sidechain, Ethereum Sidechain, Carrier, Hive, etc.) and also keep improving Runtime and the Launcher App little by little”.
In the event the EF runs out of money or closes as the CR fully takes control, the Trinity team will apply for CR funding on a per project/per feature basis. Benjamin talked about the dApps that would fully compliment the Trinity browser, “The first good dApps could be some kind of chat, crypto/fiat exchanges (to bring new users), games and asset-related apps like ticketing dApps”.
The end goal for the Trinity team is to put all the focus and attention towards the developer and end user. Benjamin is confident that by the end of 2019, developers will be able to start creating fully functioning dApps for the public to use with many more updates and features to be included in Q1/Q2 of next year.