EnOS , EnAPI , EnDashboard , and EnKeep: what they are, why we need them, and how to use them.
Three software products that work together or stand alone and perfectly matched hardware.
EnOS is a linux distribution compiled with several tools for quickly deploying blockchain solutions utilizing mongodb, docker, docker swarm, nodejs, json-rpc. It has a custom compiled kernel with the latest p2p modules for mesh networking, IPsec stack, and various other tools to help create P2P solutions and mesh networks.
Currently the Linux enOS distribution has only been compiled and working on ARM devices like our EnKeep which utilizes the rock64pro SBC build by pine64.org.
Think of enOS like a Ubuntu distribution with the LAMP (Linux, Apache, MySql, PhP) stack pre-loaded. For those of you that have been around web development for a day or six.
EnAPI is a Json-RPC based API written in nodeJS using the Pristine-typescript stack and adhering to Open-RPC schema to enjoy the fullest potential of document driven development.
Check out https://open-rpc.org for more information.
The API lets you easily utilize all the tools baked into enOS without having to run it all from command line.
Create users in the database who are connected to the nodes they spin up which is super easy to do with the API, pass a few arguments and boom nodes running. Whether you want to access the json-rpc on the node through EnAPI stack using IPC to securely communicate with the node or just good old traditional RPC port or WS is up to you, the tools are there already to make this happen.
EnAPI utilizes the docker API engine to communicate directly with the docker service through its IPC socket to securely spin up docker containers housing your blockchain node software.
The open source version of EnAPI utilizes single docker containers to run multiple nodes on the device, the enterprise versions of EnAPI and EnOS leverage the power of docker swarms.
We decided to use docker swarms instead of Kubernetes (Kubernetes is a great piece of software) for the simple reason that docker swarms are already baked into docker natively and no extra installation is required and also offer powerful tools like load balancing across hardware and containers and keep the whole system as small as possible.
EnAPI is also build very modular so you can add stuff to it and to EnOS on the go as you see fit and need.
EnKeep is a rock64pro single board computer, which has 4GB of ram and a Octa core ARM v8 64Bit based CPU, combined with a NVMe SSD for maximum performance and build in Wifi, Bluetooth, and 1Gb Ethernet port.
EnKeep comes preloaded with the whole EnOS stack. EnAPI, and our very custom version of EnDashboard , which utilizes the EnAPI to give you out of the box UI to, Run blockchain nodes with a click of a button and to administer your enKeep device.
EnOS currently supports the following public blockchain networks:
Mainnets – Ethereum Classic, Ethereum, and most networks that the multi-geth node client supports.
Test Nets – Kotti ETC PoA testnet and Gorli PoA Ethereum testnet.
And starting your very own PoA based blockchain networks.
Get started buy hosting nodes for your desired network with a click of a button using the One click node launcher
There’s also a block explorer build into it to check what’s going on the blockchain networks you currently have Nodes running. It also has a simple IDE for solidity built in that allows you to compile, sign locally (Currently only supports keystore), and deploy your smart contract to any blockchain network nodes you currently have running all with few buttons in the same interface.
It also has a very light weight wallet build into it to do quick transactions to networks for which you have nodes running.
And last but not least, we also have a chat client build in, that fully leverages the whisper messaging protocol across Ethereum networks for real time chatting, 100% encrypted 100% anonymous.
The whole EnDashbaord has been build using Pristine-typescript-react stack again provided by ETC Labs Core dev team utilizing EnAPI to communicate with the OS to run all these services.
EnAPI is fully documented as well, that you can either view on the open-RPC.org playground or with the OpenRPC preview plugin for VScodium.
This has been done intentionally to motivate developers to create their own dashboards or dapps for a lack of better words. You can literally think of EnDashboard as a dapp created using the EnAPI and EnOS stack, every service running locally for every transaction.