UNPKG

divvy-rest

Version:

A RESTful API for submitting payments and monitoring accounts on the Divvy network.

194 lines (163 loc) 7.33 kB
# Server Configuration for `divvy-rest` This document tracks all changes to the `config.json` format. If a new version is released the details will be updated here. An example configuration file is provided [here](../config-example.json). ---------- ### Version 2.0.2 ### Changes + Add `url_base` property to override the url base (protocol://host_name:port) that is used in url construction for rest responses - e.g. `'url_base': 'https://api.xdv.io'` will yield a transaction status url of `https://api.xdv.io/v1/accounts/{account}/payments/{hash}` ```js { 'config_version': '2.0.2', 'debug': false, 'port': 5990, 'host': 'localhost', 'ssl_enabled': false, 'ssl': { 'key_path': './certs/server.key', 'cert_path': './certs/server.crt' }, 'db_path': './divvy-rest.db', 'max_transaction_fee': 1000000, 'divvyd_servers': [ 'wss://s1.xdv.io:443' ], 'url_base': 'https://api.xdv.io:443' } ``` + `config_version` - will be checked by the configuration loader and it will throw an error if there have been breaking changes to the format + `port` - the port that the API server will be available on + `host` - the host the API server will be available on + `dp_path` - path for sqlite3 to save the database to. Can be populated with `:memory:` to run an in-memory version of the sqlite db + `ssl_enabled` - boolean to configure to server to host over SSL + `ssl` - if an object with `key_path` and `cert_path` are provided, the API server will be available over HTTPS + `max_transaction_fee` - the maximum fee you're willing to pay for a transaction, has to be a `Number` + `divvyd_servers` - an array of server objects indicating which `divvyd` servers the API should connect to. These should be configured to point to your local `divvyd` if you are running one, instead of `s_west.xdv.io` + `debug` - boolean to log debugging information + `url_base` - override the url base (protocol://host_name:port) that is used in url construction for rest responses ---------- ### Version 2.0.1 ### Changes + Add `max_transaction_fee` property to set the maximum fee you're willing to pay for a transaction ```js { 'config_version': '2.0.1', 'debug': false, 'port': 5990, 'host': 'localhost', 'ssl_enabled': false, 'ssl': { 'key_path': './certs/server.key', 'cert_path': './certs/server.crt' }, 'db_path': './divvy-rest.db', 'max_transaction_fee': 1000000, 'divvyd_servers': [ 'wss://s1.xdv.io:443' ] } ``` + `config_version` - will be checked by the configuration loader and it will throw an error if there have been breaking changes to the format + `port` - the port that the API server will be available on + `host` - the host the API server will be available on + `dp_path` - path for sqlite3 to save the database to. Can be populated with `:memory:` to run an in-memory version of the sqlite db + `ssl_enabled` - boolean to configure to server to host over SSL + `ssl` - if an object with `key_path` and `cert_path` are provided, the API server will be available over HTTPS + `max_transaction_fee` - the maximum fee you're willing to pay for a transaction, has to be a `Number` + `divvyd_servers` - an array of server objects indicating which `divvyd` servers the API should connect to. These should be configured to point to your local `divvyd` if you are running one, instead of `s_west.xdv.io` + `debug` - boolean to log debugging information ---------- ### Version 2.0.0 ### Changes + All properties should be provided in lowercase + Deprecated Postgres support, moved to sqlite3 only + Removed `DATABASE_URL` and added `db_path` for specifying the path for sqlite to save to + Optionally you can provide the `:memory:` as the db_path to run an in-memory sqlite database ```js { 'config_version': '2.0.0', 'debug': false, 'port': 5990, 'host': 'localhost', 'ssl_enabled': false, 'ssl': { 'key_path': './certs/server.key', 'cert_path': './certs/server.crt' }, 'db_path': './divvy-rest.db', 'divvyd_servers': [ 'wss://s1.xdv.io:443' ] } ``` + `config_version` - will be checked by the configuration loader and it will throw an error if there have been breaking changes to the format + `port` - the port that the API server will be available on + `host` - the host the API server will be available on + `dp_path` - path for sqlite3 to save the database to. Can be populated with `:memory:` to run an in-memory version of the sqlite db + `ssl_enabled` - boolean to configure to server to host over SSL + `ssl` - if an object with `key_path` and `cert_path` are provided, the API server will be available over HTTPS + `divvyd_servers` - an array of server objects indicating which `divvyd` servers the API should connect to. These should be configured to point to your local `divvyd` if you are running one, instead of `s_west.xdv.io` + `debug` - boolean to log debugging information ---------- ### Version 0.0.2 #### Changes + Added `debug` option ```js { 'config_version': '1.0.1', 'PORT': 5990, 'NODE_ENV': 'development', 'HOST': 'localhost', 'DATABASE_URL': 'postgres://divvy_rest_user:password@localhost:5432/divvy_rest_db', 'ssl': { 'key_path': './certs/server.key', 'cert_path': './certs/server.crt' }, 'divvyd_servers': [ { 'host': 's_west.xdv.io', 'port': 443, 'secure': true } ], 'debug': true } ``` + `config_version` - will be checked by the configuration loader and it will throw an error if there have been breaking changes to the format + `PORT` - the port that the API server will be available on + `NODE_ENV` - either `development`, `staging`, or `production` + `HOST` - the host the API server will be available on + `DATABASE_URL` - the URL used to connect to the PostgreSQL database + `ssl` - if an object with `key_path` and `cert_path` are provided, the API server will be available over HTTPS + `divvyd_servers` - an array of server objects indicating which `divvyd` servers the API should connect to. These should be configured to point to your local `divvyd` if you are running one, instead of `s_west.xdv.io` + `debug` - boolean to log debugging information ---------- ### Version 1.0.0 ```js { 'config_version': '0.0.1', 'PORT': 5990, 'NODE_ENV': 'development', 'HOST': 'localhost', 'DATABASE_URL': 'postgres://divvy_rest_user:password@localhost:5432/divvy_rest_db', 'ssl': { 'key_path': './certs/server.key', 'cert_path': './certs/server.crt' }, 'divvyd_servers': [ { 'host': 's_west.xdv.io', 'port': 443, 'secure': true } ] } ``` + `config_version` - will be checked by the configuration loader and it will throw an error if there have been breaking changes to the format + `PORT` - the port that the API server will be available on + `NODE_ENV` - either `development`, `staging`, or `production` + `HOST` - the host the API server will be available on + `DATABASE_URL` - the URL used to connect to the PostgreSQL database + `ssl` - if an object with `key_path` and `cert_path` are provided, the API server will be available over HTTPS + `divvyd_servers` - an array of server objects indicating which `divvyd` servers the API should connect to. These should be configured to point to your local `divvyd` if you are running one, instead of `s_west.xdv.io` ----------