Convert Cosmos on-chain governance proposals into an RSS feed.
If you are new to Golang, please follow the setup instructions here.
Before running guvnord
, please ensure that you have the following environment variables set:
Description | |
---|---|
GUVNOR_PORT |
The port that guvnor should run on (e.g.: 3000 ) |
GUVNOR_CONFIG |
The full path to the config.toml file. |
GUVNOR_DOMAIN |
The domain that guvnor is being run on. |
REDIS_URL |
The Redis URL (e.g.: localhost:6379 ). |
REDIS_PASSWORD |
The Redis password (leave blank if no password is set). |
PROPOSAL_FEED_AUTHOR |
The name of the author, for the feed. |
PROPOSAL_FEED_EMAIL |
The email address of the author, for the feed. |
To setup the config, please run:
make setup-config
This will create a ~/.guvnor/config
directory and copy the example config file into. It will also set the GUVNOR_CONFIG
environment variable.
You can easily override the config location by changing GUVNOR_CONFIG
.
Remove the placeholder content and update it with those that are relevant to the chains that you wish to generate feeds for. The structure of the config file is very simple, and you add a given chain like so:
[[chain]]
chain_id = "<chain_id>"
api = "<api_host>"
You can run guvnord
on any cloud or bare metal provider. A Heroku Procfile
(please see here for how to launch this on Heroku) as also been included.
Please ensure that you have a Redis instance available, as guvnor
makes use of Redis to cache requests (for up to 6 hours).
To install the binary, run:
make clean install
To then to start the service:
make run-guvnor-service
Once running, you may access the feed at <hostname>/<chain_id>/proposals/rss
.
To run the linter:
make lint
To run the tests and see test coverage:
make tests
As mentioned above, Redis is used to cache frequently requested objects. To start a local Redis instance, run:
make docker-redis