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 12 months ago
data add new nodes 12 months ago
utils update heights script 12 months ago
wowlet_backend Some changes to semver version format and more failsaves against coingecko API not working; use cache 1 year ago
.gitignore Initial commit 2 years ago
Dockerfile Await task HistoricalPriceTask._load() and adjust Dockerfile to expose 2 years ago
LICENSE Initial commit 2 years ago
README.md Update README 1 year ago
asgi.py feather-ws -> wowlet-backend 1 year ago
docker-compose.yml feather-ws -> wowlet-backend 1 year ago
requirements.txt Some changes to semver version format and more failsaves against coingecko API not working; use cache 1 year ago
run.py feather-ws -> wowlet-backend 1 year ago
settings.py_example feather-ws -> wowlet-backend 1 year 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.