rateserver

command module
v0.0.0-...-19f656d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2019 License: ISC Imports: 24 Imported by: 0

README

RateServer

RateServer is a central server for distributing Decred exchange rate data to any number of clients. It is particularly useful for DCRData instances behind a load balancer, though certainly not restricted to that application.

Build and Run

For a module-enabled version of Go, getting started should be as simple as

cd path/to/dcrdata/dcrrates/rateserver
go build
./rateserver

See DCRData's notes on Go for additional configuration details.

TLS

When starting RateServer, if a TLS certificate and key cannot be located at the paths specified by tlscert and tlskey, they will be auto-generated and saved to those locations. By default, the generated certificate is only valid for requests to localhost. To specify additional host names, delete or move any existing certificate and key, and restart RateServer with the altdnsnames parameter. altdnsnames can be specified multiple times.

Using RateServer with DCRData

To point DCRData to RateServer, you must set DCRData's ratemaster and ratecert configuration options. exchange-monitor must also be enabled. You must specify a host name, whether it be localhost, an IP address, or a public domain name. The supplied host name should match a name in RateServer's TLS configuration.

Options
-c, --config=            Path to a custom configuration file.
    --appdir=            Path to application home directory. (~/.dcrrates)
-l, --listen=            gRPC listen address. (default: :7778)
    --logpath=           Directory to log output. ([appdir]/logs/)
    --loglevel=          Logging level {trace, debug, info, warn, error, critical}
    --disable-exchange=  Exchanges to disable. See /exchanges/exchanges.go for available exchanges. Use a comma to separate multiple exchanges
    --exchange-currency= The default bitcoin price index. A 3-letter currency code. (default: USD)
    --exchange-refresh=  Time between API calls for exchange data. See (ExchangeBotConfig).DataExpiry. (default: 20m)
    --exchange-expiry=   Maximum age before exchange data is discarded. See (ExchangeBotConfig).RequestExpiry. (default: 60m)
    --tlscert=           Path to the TLS certificate. Will be created if it doesn't already exist. ([appdir]/rpc.cert)
    --tlskey=            Path to the TLS key. Will be created if it doesn't already exist. ([appdir]/rpc.key)
    --altdnsnames=       Specify additional dns names to use when generating the rpc server certificate
-h, --help               Show this help message

All options (except --config) can be set via either the CLI or an INI configuration file (see sample-rateserver.conf).

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL