Skip to content

Latest commit

 

History

History
48 lines (32 loc) · 1.7 KB

README.md

File metadata and controls

48 lines (32 loc) · 1.7 KB

ioTube validator service

ioTube services for validator and relayer

Get Started with Docker

The recommended way to run the validator service is using docker. Please see docker/README.md for more details.

Get Started with Binary

Requirement

  • Postgres Database
  • Golang 1.8.0
  • Protoc 3.6.0

Build Executables

make build

Validator Monitor Service

Validator monitor is a service to monitor the events of the tube contracts configured in the config file. The events will be processed and written into database for the other services to use.

./bin/validator -monitor validator.monitor.yaml

Validator Signature Service

This is a service to endorse the transfers by signing them with the validator's private key. To protect the private key, this service should be run without traversing the public internet, e.g., within a Google VPC.

./bin/validator -signer validator.signer.yaml

Validator API Service

Validator API service provides a GRPC API and a http API for public to query the endorsements/signatures of the validator to transfers.

./bin/validator -api validator.api.yaml

Being a relayer

Relayer is to relay the transfers after collecting enough endorsements from validators. A relayer could choose to

  • relay the transfers of filed via a specific tube router
  • or relay all transfers

Two services are needed to be a relayer:

Relayer Monitor

Similar to validator monitor, relayer monitor is a service to monitor the events of the tube contracts for relayer. The events are also processed and stored into database.

./bin/relayer -monitor relayer.monitor.yaml

Relay Service

Relay service relays the tasks storing in database.

./bin/relayer -relay relayer.yaml