wowlet-backend/README.md
2021-04-16 03:58:42 +02:00

51 lines
1.1 KiB
Markdown

# wowlet-backend
Back-end websocket server for wowlet.
- Quart web framework, Py3 asyncio
- Redis
See also the environment variables `WOWLET_COIN_NAME`, `WOWLET_COIN_SYMBOL`, etc. in `settings.py`.
## Tasks
This websocket server has several scheduled recurring tasks:
- Fetch latest blockheight from various block explorers
- Fetch crypto/fiat exchange rates
- Fetch latest Reddit posts
- Fetch funding proposals
- Check status of RPC nodes (`data/nodes.json`)
When Wowlet (the wallet application) starts up, it
will connect to this websocket server and receive
the information listed above which is necessary
for normal operation.
See `wowlet_backend.tasks.*` for the various tasks.
## Development
Requires Python 3.7 and higher.
```
virtualenv -p /usr/bin/python3 venv
source venv/bin/activate
pip install -r requirements.txt
export WOWLET_DEBUG=true
python run.py
```
Note that `run.py` is meant as a development server. For production,
use `asgi.py` with something like hypercorn.
## Docker
In production you may run via docker;
```
docker-compose up
```
Will bind on `http://127.0.0.1:1337`. Modify `docker-compose.yml` if necessary.