Jade Service Runner
Tags: Blockchain Development, Ethereum, Json, Ethereum Classic, Blockchain Technology

Jade Suite

The ECLC team is clearly focused on building with the entire p2p landscape in mind. Setting the tone with their first release, OpenRPC, the team is creating the foundational development layer that has been sorely missing from the blockchain ecosystem.

Jade suite is going to make building applications on top of ethereum and other p2p technologies easy as using popular web frameworks like rails. It’s not just a set of tools, but also a paradigm for application development. The first fundamental of the paradigm is that users should be able to choose the security model that best suits them. We achieve this by decomposing ethereum into pieces with specific roles, defining a specification for the individual components. The application developer need not concern themselves over the details of which version/vendor of xyz is the user running and where. — Zac Belford, ECLC developer

Oh and if you haven’t been keeping up with OpenRPC, the specification now supports Golang.

Jade Service Runner

Stevan Lohja, Technology Coordinator at ECLC explains “Jade-Service-Runner is a tool developers can use to simply run services in the background. For example, a DApp developer needs mainnet or testnet to deploy dapps against, so they can tell the Service Runner to run Geth or any other service they incorporate into their environment”. It’s this focus on simplicity that the team thinks will resonate with the development community, making the Service Runner (and the entire Jade suite), an essential tool box moving forward.

The team is so confident in the positive reception and use of the tool that they are already looking to the future.

One of the potential longer term plays is basically allowing jade service runner to be a p2p node that uses open-rpc discover to create a network of decentralized services that people can connect to. The service runner would then basically act as gateway that would let people use each others services or to scope their interactions to just use their local connections. — Zane Starr, ECLC developer

Better dApp Development

Service Runner improves the dApp development cycle, by reducing the number of steps required for running services that are local to the user, in addition to associated with relying on locally running JSON-RPC services.

To do this effectively, Jade Service Runner supports the following:

Allows dApp developers to specify what services they’d like to use

Provides defaults for the services to run

Provides users with an easy installation path

Provides reliable discovery of pre-existing services run by the service runner

Provides OpenRPC interface to the Service Runnner functionality, as well as the underlying services

Allows dApp developers the ability to retrieve reliable JSON-RPC connection information from the service

Provides typed interfaces to develop applications against

Getting Started

Install jade-service-runner using npm

npm install -g @etclabscore/jade-service-runner

It also has a javascript client:

npm install @etclabscore/jade-service-runner-client

Then require it into any module.

const { ServiceRunner } = require('@etclabscore/jade-service-runner-client');

const ERPC = require('@etclabscore/ethereum-json-rpc');

const serviceRunner = new ServiceRunner({ transport: { type: "http", port: 8002, host: "localhost" } });

const serviceName = 'multi-geth';

const successful = await serviceRunner.installService(serviceName);

if (successful === false) throw new Error('Service not installed')

const serviceConfig = serviceRunner.start(serviceName, 'kotti');

const erpc = new ERPC(serviceConfig);

erpc.getBalance("0x0DEADBEEF");

to run the service runner:

jade-service-runner

Supported Services

Currently it supports multi-geth with the following environments:

mainnet (ETC)

kotti

ethereum

goerli

rinkeby

More Resources for Jade-Service-Runner and OpenRPC