Skip to content
👟Jade Service Runner
TypeScript Shell Other
Branch: master
Clone or download

Latest commit

Latest commit 0a56e8e Feb 24, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci fix(circleci): bump nodejs version Feb 12, 2020
.ebextensions fix: getting things working Aug 20, 2019
.elasticbeanstalk feat: infrastructure as code Aug 15, 2019
.github/ISSUE_TEMPLATE feat: add issue templates Feb 21, 2019
cfn fix: vol size as number Aug 30, 2019
examples feat: add support for dynamic proxying of requests Aug 2, 2019
fixtures chore: lint openrpc spacing Sep 30, 2019
src fix: bump multi-geth version Feb 12, 2020
.ebignore fix: setup for deploy Jun 29, 2019
.gitignore
.node-version feat: infrastructure as code Aug 15, 2019
.npmrc fix: setup for deploy Jun 29, 2019
.releaserc fix(circleci): add missing semantic-release verify conditions Aug 3, 2019
BUILDING.md fix(building): remove unneeded definitions Apr 18, 2019
CHANGELOG.md chore(release): 1.1.2 [skip ci] Jun 29, 2019
CIRCLECI.md Update CIRCLECI.md Jan 22, 2020
CONTRIBUTING.md
CONVENTIONAL_COMMITS.md
LICENSE.md fix: Rename LICENSE -> LICENSE.md Jan 31, 2019
README.md Update README.md Oct 1, 2019
RELEASING.md feat: update release to be more specific Apr 3, 2019
TESTING.md fix: indenting Feb 21, 2019
VERSIONING.md feature: build target file names + release order Feb 4, 2019
client.ts chore: fix lint errors Jun 13, 2019
jest.config.js fix: merge conflict resolutions Jun 1, 2019
openrpc.json fix: list services to support summary Oct 15, 2019
package-lock.json
package.json fix: ethereum support Oct 18, 2019
publish.sh
tsconfig.json fix: merge conflict resolutions Jun 1, 2019
tsfmt.json fix: merge conflict resolutions Jun 1, 2019
tslint.json fix: commandline argument passing Jun 4, 2019
verifyConditions.sh

README.md

Jade Service Runner - A JSON-RPC Service Manager

CircleCI branch Dependabot status Chat on Discord npm GitHub release GitHub commits since latest release

Jade Service Runner

An awesome JSON-RPC service manager!
View Demo · Report Bug · Request Feature

Table of Contents

About The Project

Service Runner is an opinionated JSON-RPC service manager, that provides daemonization, installation, and discovery for JSON-RPC based services.

Service Runner helps developers gain access to a user's locally run services. It provides users with a management and installation tool, that allows developers to discover services and reliably request access to those services.

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 Runner 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

Supported Services

Currently it supports multi-geth with the following environments:

  • mainnet (ETC)
  • kotti
  • ethereum
  • goerli
  • rinkeby

Getting Started

Prerequisites

  • node v12.10.0 or greater.
  • npm v6.10.3 or greater.

Installation

Install via npm package

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

Install the 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 jade-service-runner:

jade-service-runner

Usage

JSON-RPC API Documentation

You can view the API documentation here.

Extending services

You can extend jade-service-runner with your own configuration via the command line interface

jade-service-runner -c extended-jade-service-runner-config.json

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

How to contribute, build and release are outlined in CONTRIBUTING.md, BUILDING.md and RELEASING.md respectively. Commits in this repository follow the CONVENTIONAL_COMMITS.md specification.

License

Apache License 2.0

Resources

You can’t perform that action at this time.