Inside the OST Technology Stack as we prepare for pilot launches
The OST technology stack of protocols, development kits, APIs, SDKs, and tools enable businesses to create robust Branded Token economies quickly and integrate them into web 2.0 applications with minimum coding effort and without requiring any blockchain development knowledge.
OST’s signed partners reach more than 300 million end-users per month and we are gearing up to launch live pilots in Q2 of this year. Between now and then we are finishing a few remaining features and then undergoing intensive security audits before launching on mainnet.
Here are some examples of the work our development teams are currently heads-down on to enable the live pilots on mainnet:
- OpenST — ⚓️ Anchor release (v0.10.x): contracts (token holder), testnets, openst.js + (branded token v0.1). In March the OpenST team will also release OpenST release (v0.11): contracts (Rules for pilots, recovery), exploration payment channels / zkS(T/N)ARK
- Mosaic — ⚓️ Anchor release (v0.10.x): contracts, RUM node (auxiliary, facilitator), testnets, mosaic.js, mosaic blue (deployment for PoA for pilots). In March the Mosaic team will also release “👶 Baby Mosaic” release (v0.11): contracts (Casper FFG), RUM node (validator), testnets, mosaic.js, blue (deployment for PoS). This provides first support for metablockchains, economic finalization, PoS validators and PoS block proposers.
- Mosaic-tbd (name to be decided, js interface) — npm package to enable OST KIT integration with mosaic contracts.
- Mosaic-anchor.js — npm package to enable backend team to interact with Anchor/SafeCore contracts to commit state-roots.
- Mosaic-facilitator.js — npm package and mosaic.js to enable the backend team to facilitate stake-and-mint by interacting with mosaic contracts.
- Mosaic.js — npm package to enable backend team to facilitate initiation of stake-and-mint by interacting with mosaic contracts.
- Mobile Wallet SDK (iOS and Android) — to enable OST clients to safely deploy user keys on device and generate signatures required for multisig management and execute transactions.
- OST VIEW — Multi Chain support and decouple block scanner from presentation layer
- OST KIT management dashboards — Implement new UX flows and functionalities for pilots
- OST APIs — Implement updated economy management functionality, token holder contracts, transaction, ledger, and wallet SDK APIs for pilot
In this post I also want to share some background on the technologies the OST stack is built on.
A preference for open source technology
OST developers rely upon a great many libraries and tools, many of them from the open source community. OST is a believer in open source software, and our developers use many open source tools internally.
Ethereum: A strategic choice
OST’s code is built atop the industry’s best-in-class blockchain protocols. At the root of it all is Ethereum, which has proven itself robust and secure. Ethereum has never been hacked and it is supported by the largest active blockchain developer community.
OST developed on with Ethereum because it works, it’s secure at scale, it has powerful smart contract capabilities, and it has the largest number of developers and tools.
Ethereum could be considered a component of every OST-based application. When OST creates auxiliary blockchains they are based on Ethereum, which means existing clients like Parity and Go Ethereum — Geth — can be used. The Mosaic team has employed the architecture of Casper the Friendly Finality Gadget to create fault-tolerant sidechains and resolve transactions asynchronously with the Ethereum mainchain. Mosaic is intended to support the scalability of OST-based applications to tens of millions of users.
Protocols, tools, and libraries
Open source and commercial tools aid in the development of OST’s back-end technology, testing environment, and supporting protocols as well as OST KIT, which contains everything corporate teams need to create robust, scalable token-based economies on OpenST utility blockchains. OST KIT delivers all the benefits of a blockchain-based Branded Token economy without the technical or regulatory headaches associated with writing your own blockchain code.
A message broker called RabbitMQ is a key element of OST KIT. Rabbit helps maintain an efficient queue of messages from client apps, ensuring that each is served in turn. Simple calls to the RabbitMQ API let us add transactions to the queue and generate unique IDs for them so they can be tracked as they are handled. This library is a simple, efficient queuing system for managing communications in distributed applications.
OST recently integrated the Gnosis Safe multisignature wallet into OpenST. Safe lets OST partners offer users a secure, proven wallet for storing Branded Tokens and other digital assets. Safe will give users a convenient way to set up distinct entry points for their accounts on multiple devices, protecting them from loss of private keys or password data.
Another important component is Node.js, a set of libraries for creating application servers on demand. Node.js helps us and our partners meet scalability goals by handling many calls and connections simultaneously without blocking or deadlocking. When an OST-based application needs more processing power, Node springs into action, instantiating additional processing nodes as needed. When the nodes are no longer needed, the resources are released.
Internally, OST developers rely upon Jenkins for deployment, Ansible for configuration management, and AWS tools for computing and load balancing. For analytics, OST uses the Pentaho analytics platform and Amazon Redshift.
This quick glimpse behind the scenes shows that OST developers choose and adopt a wide variety of technologies in building libraries, protocols, and tools for partners. A strategic decision to prefer open source software means that OST engineers can quickly track down and correct bugs, performance issues, and incompatibilities that might not be a priority for publishers of commercial tools.