The back-end websocket server for wowlet.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
wowario 6d9e5c5afe update heights script 3 weeks ago
data add new nodes 3 weeks ago
utils update heights script 3 weeks ago
wowlet_backend Some changes to semver version format and more failsaves against coingecko API not working; use cache 5 months ago
.gitignore Initial commit 12 months ago
Dockerfile Await task HistoricalPriceTask._load() and adjust Dockerfile to expose 9 months ago
LICENSE Initial commit 12 months ago
README.md Update README 5 months ago
asgi.py feather-ws -> wowlet-backend 6 months ago
docker-compose.yml feather-ws -> wowlet-backend 6 months ago
requirements.txt Some changes to semver version format and more failsaves against coingecko API not working; use cache 5 months ago
run.py feather-ws -> wowlet-backend 6 months ago
settings.py_example feather-ws -> wowlet-backend 6 months ago

README.md

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.