From ff12756915d452e7b92959062ed6315adf0e424e Mon Sep 17 00:00:00 2001 From: terminaldweller Date: Thu, 25 Feb 2021 12:19:18 +0330 Subject: added a new endpoint for changelly. added somewhat decent logging. cleaned up the code a bit. the secrets are all environment variables now since we want publicly availale CI. the api and postman docs are added. added travis integration. --- README.md | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 7423e43..f04619a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,47 @@ # hived -hived in go +`hived` is the second version of my personal cryptocurrency server.
+hived is currently using redis as its DB because its tiny and fast.
+It sends notifications through telegram.
+Currently it has 4 endpoint:
+ +### /price +Lets you ask for the price of the currency. You can determine the currency the value is returned in.
+ +### /pair +Takes in a pair of currencies and a multiplier. Determines and returns the ratio.
+ +### /addalert +Takes in a name and a math expression containing the names of the currencies. Checks the expression periodically. Sends a message over telegram when the expression holds true.
+The expression's result must be boolean. As an example:
+```Go +ETH*50>50000. +ETH*60/(DOGE*300000) < 4. +``` +You can have as many parameters as you like. The requests for the crypto prices are all turned into individual goroutines so it's fast.
+The expression evaluation is powered by [govaluate](https://github.com/Knetic/govaluate). So for a set of rules and what you can and cannot do please check the documentation over there.
+ +### /ex +Gets the list of currencies that are available to be traded.
+ +You can check under `./test` for some examples of curl commands.
+ +## How to Run +Before you can run this, you need a [telegram bot token](https://core.telegram.org/bots#6-botfather) and a [changelly](https://changelly.com/) API key.
+The keys are put in files and then given to Docker as secrets.The docker entrypoint script then exports these as environment variables.
+ +```sh +TELEGRAM_BOT_TOKEN="my-telegram-bot-api-key" +``` +And +```sh +CHANGELLY_API_KEY:"my-changelly-api-key" +``` +And +```sh +CHANGELLY_API_SECRET:"my-changelly-api-secret" +``` +If you want to use docker-compose, it's as simple as running `docker-compose up`. You just need to provide the files. You can check the file names in the docker-compose file.
+Both the server itself and the redis image are alpine-based so they're pretty small.
+ +## Docs +You can find the swagger and postman docs under `/api`.
-- cgit v1.2.3