Giter Club home page Giter Club logo

golos-witness-tools's Introduction

golos-witness-tools

This is a set of scripts for golos blockchain witness operators.

Scripts

Requirements

  • golos node 0.22+

Installation via poetry

  1. Install poetry
  2. Run poetry install to install the dependencies
  3. Copy common.yml.example to common.yml and change variables according to your needs
  4. Now you're ready to run scripts:
poetry shell
./script.py

Running scripts in docker

Plain docker example:

docker run -it --rm vvk123/golos-witness-tools:latest ./update_price_feed.py --dry-run

docker-compose:

  • copy docker-compose.yml.example to docker-compose.yml
  • adjust environment variables in docker-compose.yml. Look for all env vars in docker-entrypoint.sh
docker-compose up -d

To manually build docker image:

docker build -t vvk123/golos-witness-tools:latest .

golos-witness-tools's People

Contributors

bitphage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

golos-witness-tools's Issues

Потеря cоединения к ноде GPH и переполнение логов реконнектами

{"log":"2021-06-08 22:02:35,532 INFO: Gold price from cbr.ru: 0.06148 USD/1mgGOLD\n","stream":"stderr","time":"2021-06-08T22:02:35.532992905Z"}
{"log":"2021-06-08 22:02:35,569 INFO: Gold price in GPH: 2.53496202 GPH/1mgGOLD\n","stream":"stderr","time":"2021-06-08T22:02:35.569816625Z"}
{"log":"2021-06-08 22:02:35,769 INFO: GOLOS price is: 0.08690735 GPH/GOLOS\n","stream":"stderr","time":"2021-06-08T22:02:35.770162491Z"}
{"log":"2021-06-08 22:02:35,770 INFO: Calculated price 0.034 GBG/GOLOS\n","stream":"stderr","time":"2021-06-08T22:02:35.770253637Z"}
{"log":"2021-06-08 22:02:35,780 INFO: Current conversion price: 0.042\n","stream":"stderr","time":"2021-06-08T22:02:35.780376748Z"}
{"log":"2021-06-08 22:02:35,780 INFO: Sleeping for 3600 seconds\n","stream":"stderr","time":"2021-06-08T22:02:35.780709471Z"}

{"log":"2021-06-08 23:02:36,104 INFO: Gold price from cbr.ru: 0.06148 USD/1mgGOLD\n","stream":"stderr","time":"2021-06-08T23:02:36.105140066Z"}
{"log":"2021-06-08 23:02:36,140 INFO: Gold price in GPH: 2.74581567 GPH/1mgGOLD\n","stream":"stderr","time":"2021-06-08T23:02:36.140915099Z"}
{"log":"2021-06-08 23:02:36,352 INFO: GOLOS price is: 0.09090368 GPH/GOLOS\n","stream":"stderr","time":"2021-06-08T23:02:36.353365277Z"}
{"log":"2021-06-08 23:02:36,353 INFO: Calculated price 0.033 GBG/GOLOS\n","stream":"stderr","time":"2021-06-08T23:02:36.353395741Z"}
{"log":"2021-06-08 23:02:36,366 INFO: Current conversion price: 0.042\n","stream":"stderr","time":"2021-06-08T23:02:36.367000778Z"}
{"log":"2021-06-08 23:02:36,367 INFO: Sleeping for 3600 seconds\n","stream":"stderr","time":"2021-06-08T23:02:36.367335331Z"}

{"log":"Task stopped with exception\n","stream":"stderr","time":"2021-06-08T23:10:33.585223274Z"}
{"log":"Traceback (most recent call last):\n","stream":"stderr","time":"2021-06-08T23:10:33.585263301Z"}
{"log":"  File \"/usr/local/lib/python3.8/site-packages/grapheneapi/aio/websocket.py\", line 39, in _parsing_wrapper\n","stream":"stderr","time":"2021-06-08T23:10:33.585271526Z"}
{"log":"    await self.parse_messages()\n","stream":"stderr","time":"2021-06-08T23:10:33.585279734Z"}
{"log":"  File \"/usr/local/lib/python3.8/site-packages/grapheneapi/aio/websocket.py\", line 63, in parse_messages\n","stream":"stderr","time":"2021-06-08T23:10:33.585287258Z"}
{"log":"    async for message in self.ws:\n","stream":"stderr","time":"2021-06-08T23:10:33.585295222Z"}
{"log":"  File \"/usr/local/lib/python3.8/site-packages/websockets/protocol.py\", line 439, in __aiter__\n","stream":"stderr","time":"2021-06-08T23:10:33.585302702Z"}
{"log":"    yield await self.recv()\n","stream":"stderr","time":"2021-06-08T23:10:33.585310646Z"}
{"log":"  File \"/usr/local/lib/python3.8/site-packages/websockets/protocol.py\", line 509, in recv\n","stream":"stderr","time":"2021-06-08T23:10:33.585318009Z"}
{"log":"    await self.ensure_open()\n","stream":"stderr","time":"2021-06-08T23:10:33.585325855Z"}
{"log":"  File \"/usr/local/lib/python3.8/site-packages/websockets/protocol.py\", line 812, in ensure_open\n","stream":"stderr","time":"2021-06-08T23:10:33.585333232Z"}
{"log":"    raise self.connection_closed_exc()\n","stream":"stderr","time":"2021-06-08T23:10:33.585341688Z"}
{"log":"websockets.exceptions.ConnectionClosedError: code = 1005 (no status code [internal]), no reason\n","stream":"stderr","time":"2021-06-08T23:10:33.585349238Z"}

{"log":"2021-06-09 00:02:36,765 INFO: Gold price from cbr.ru: 0.06168 USD/1mgGOLD\n","stream":"stderr","time":"2021-06-09T00:02:36.766358939Z"}
{"log":"code = 1005 (no status code [internal]), no reason\n","stream":"stderr","time":"2021-06-09T00:02:36.767586429Z"}
{"log":"Reconnecting ...\n","stream":"stderr","time":"2021-06-09T00:02:36.76772812Z"}
{"log":"/usr/local/lib/python3.8/site-packages/grapheneapi/aio/api.py:129: RuntimeWarning: coroutine 'Api.next' was never awaited\n","stream":"stderr","time":"2021-06-09T00:02:36.783731657Z"}
{"log":"  self.next()\n","stream":"stderr","time":"2021-06-09T00:02:36.783744058Z"}
{"log":"RuntimeWarning: Enable tracemalloc to get the object allocation traceback\n","stream":"stderr","time":"2021-06-09T00:02:36.783747488Z"}
{"log":"code = 1005 (no status code [internal]), no reason\n","stream":"stderr","time":"2021-06-09T00:02:36.783750928Z"}
{"log":"Reconnecting ...\n","stream":"stderr","time":"2021-06-09T00:02:36.784126473Z"}
{"log":"code = 1005 (no status code [internal]), no reason\n","stream":"stderr","time":"2021-06-09T00:02:36.784874177Z"}
{"log":"Reconnecting ...\n","stream":"stderr","time":"2021-06-09T00:02:36.785277828Z"}
{"log":"code = 1005 (no status code [internal]), no reason\n","stream":"stderr","time":"2021-06-09T00:02:36.785935036Z"}
{"log":"Reconnecting ...\n","stream":"stderr","time":"2021-06-09T00:02:36.786055933Z"}
{"log":"code = 1005 (no status code [internal]), no reason\n","stream":"stderr","time":"2021-06-09T00:02:36.78673691Z"}
{"log":"Reconnecting ...\n","stream":"stderr","time":"2021-06-09T00:02:36.786864716Z"}
{"log":"code = 1005 (no status code [internal]), no reason\n","stream":"stderr","time":"2021-06-09T00:02:36.787117619Z"}
{"log":"Reconnecting ...\n","stream":"stderr","time":"2021-06-09T00:02:36.787625283Z"}
...

Добавить поправочный коэффициент update_price_feed

Добавить настраиваемый поправочный коэффициент к итоговой цене. Например, мы таким образом можем как бы делать золото чуть дешевле, чем автоматически вычисленное значение.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.