ShipChain / hydra

Centralized network management for decentralized networks -- helping organize and publish sidechain connection details
https://docs.shipchain.io/docs/validatorGuide.html
Apache License 2.0
8 stars 2 forks source link

ShipChain

License Chat

Hydra manages many heads of networks

Quick-start Guide

Just trying to use hydra? Follow our Validator Setup Guide

Developer Instructions

Install

make virtualenv
source env/bin/activate

Configure client and run node

Note: Replace network-name with your chosen network (e.g. shipchain-testnet-alpha)

  1. Join a network hydra client join-network -n network-name
  2. Configure client hydra client configure -n network-name
  3. Start node and begin syncing with network - this will take a while cd network-name && ./start_blockchain.sh

Your node is sync'd to the network when curl localhost:46657/status returns sync_info.catching_up: false

Shipchain validator node commands can be accessed from ~/hydra/network-name/shipchain

General Installation and Development Guidelines

Installation

$ pip install -r requirements.txt

$ pip install setup.py

Development

This project includes a number of helpers in the Makefile to streamline common development tasks.

Environment Setup

The following demonstrates setting up and working with a development environment:

### create a virtualenv for development

$ make virtualenv

$ source env/bin/activate

### run hydra cli application

$ hydra --help

### run pytest / coverage

$ make test

Releasing to PyPi

Before releasing to PyPi, you must configure your login credentials:

~/.pypirc:

[pypi]
username = YOUR_USERNAME
password = YOUR_PASSWORD

Then use the included helper function via the Makefile:

$ make dist

$ make dist-upload

Deployments

Docker

Included is a basic Dockerfile for building and distributing ShipChain Network Hydra Manager, and can be built with the included make helper:

$ make docker

$ docker run -it hydra --help