In 2017, TxMQ’s Disruptive Technologies Group created Exo – an open-source framework for developing applications using the Swirlds Hashgraph consensus SDK. Our intention for Exo was to make it easier for Java developers to build Hashgraph and other DLT applications. It provided an application architecture for organizing business logic, and an integration layer over REST or Java sockets. Version 2 of the framework introduced a pipeline model for processing transactions and the ability to monitor transactions throughout their life cycle over web sockets.
TxMQ used Exo as the basis of work we’ve delivered for our customers, as well as the foundation for a number of proofs-of-concept. As the framework has continued to mature, we began to realize its potential as the backbone for a private distributed ledger platform.
By keeping the programming and integration model consistent, we are able to offer a configurable platform that is friendlier to enterprise developers who don’t come from a distributed ledger background. We wanted developers to be able to maximize the investment they’ve made in the skills they already have, instead of having to tackle the considerable learning curve associated with new languages and environments.
Enterprises, like developers, also require approachability – though from a different perspective. Enterprise IT is an ecosystem in which any number of applications, databases, APIs, and clients are interconnected. For enterprises, distributed ledger is another tool that needs to live in the ecosystem. In order for DLT to succeed in an enterprise setting, it needs to be integrated into the existing ecosystem. It needs to be manageable in a way that fits with how enterprise IT manages infrastructure. From the developer writing the first line of code for their new DApp all the way down to the team that manages the deployment and maintenance of that DApp, everyone needs tooling to help them come to grips with this new thing called DLT. And so the idea for Aviator was born!
Aviator is an application platform and toolset for developing DLT applications. We like to say that it is enterprise-focused yet startup-ready. We want to enable the development of private ledger applications that sit comfortably in enterprise IT environments, flattening the learning curve for everyone involved.
There are three components of Aviator: The core platform, developer tools, and management tools.
Think of the core platform as an application server for enterprise DApps. It hosts your APIs, runs your business logic, handles security, and holds your application data. Each of those components is meant to be configurable so Aviator can work with the infrastructure and skill-sets you already have. We’ll be able to integrate with any Hibernate-supported relational database, plus NoSQL datastores like MongoDB or CouchDB. We’ll be delivering smart contract engines for languages commonly used in enterprise development, like Javascript, Java, and C#. Don’t worry if you’re a Solidity or Python developer, we have you on our radar too. The core platform will provide a security mechanism based on a public key infrastructure, which can be integrated into your organization’s directory-based security scheme or PKI if one is already in place. We can even tailor the consensus mechanism to the needs of an application or enterprise.
Developing and testing DApps can be complicated, especially when those applications are integrated into larger architectures. You’re likely designing and developing client code, an API layer, business logic, and persistence. You’re also likely writing a lot of boilerplate code. Debugging an application in a complicated environment can also be very challenging. Aviator developer tools help to address these challenges. Aviator can generate a lot of your code from Open API (Swagger) documents in a way that’s designed to work seamlessly with the platform. This frees developers to concentrate on the important parts and cuts down on the number of bugs introduced through hand-coding. We’ve got tools to help you deploy and test smart contracts and more tools to help you look at the data and make sure everything is doing what is supposed to do. Finally, we’re working on ways to use those tools the way developers will want to use them, whether that’s through integrations with existing IDEs like Visual Studio Code or Eclipse, or in an Aviator-focused IDE.
The work doesn’t end when the developers have delivered. Deploying and managing development, QA, and production DLT networks is seriously challenging. DLT architectures include a number of components, deployed across a number of physical or virtual machines, scaled across a number of identical nodes. Aviator aims to have IT systems administrators and managers covered there as well. We’re working on a toolset for visually designing your DLT network infrastructure, and a way to automatically deploy that design to your physical or virtual hardware. We’ll be delivering tooling to monitor and manage those assets through our own management tooling, or by integrating into the network management tooling your enterprise may already have. This is an area where even the most mature DLT platforms struggle, and there are exciting opportunities to lower frictions when managing DLT networks through better management capabilities.
So what does this all mean for Exo, the framework that started our remarkable journey? For starters, it’s getting a new name and a new GitHub. Exo has become the Aviator Core Framework, and can now be found on TxMQ’s official GitHub at https://github.com/txmq. TxMQ is committed to maintaining the core framework as a free, open source development framework that anyone can use to develop applications based on Swirlds Hashgraph. The framework is a critical component of the Aviator Platform, and TxMQ will continue to develop and maintain it. There will be a path for applications developed on the framework to be deployed on the Aviator Platform should you decide to take advantage of the platform’s additional capabilities.
For more information on Aviator, please visit our website at http://aviatordlt.com and sign up for updates.