1
0
Fork 0

Rename tool, add ethermine and refactorization

Signed-off-by: Julien Riou <julien@riou.xyz>
This commit is contained in:
Julien Riou 2021-01-27 17:44:55 +01:00
commit d05d3816b8
No known key found for this signature in database
GPG key ID: FF42D23B580C89F7
18 changed files with 590 additions and 309 deletions

View file

@ -1,8 +1,19 @@
# flexpool-activity
# mining-companion
[Flexpool.io](https://flexpool.io) is a next-generation [Ethereum](https://ethereum.org/en/) mining pool known for their
[#STOPEIP1559](https://stopeip1559.org/) move. `flexpool-activity` is able to listen and notify when a new **block** is
mined by the pool, display the up-to-date **miner balance** and convert it to **fiat**.
Cryptocurrency mining interest has raised recently due to high [Ethereum](https://ethereum.org/en/) profitability. You
can opt for the solo-mining path or use a **mining pool** to increase your chances to receive block rewards.
`mining-companion` is able to listen and notify for the following events:
* new **block** is mined by the mining pool
* unpaid **balance** is updated
* new **payment** has been sent by the mining pool
Notifications are sent via [Telegram Messenger](https://telegram.org/).
## Supported pools
* [Ethermine](https://ethermine.org/)
* [Flexpool.io](https://flexpool.io)
## Installation
@ -10,6 +21,20 @@ mined by the pool, display the up-to-date **miner balance** and convert it to **
sudo apt install python3-virtualenv
virtualenv venv
source venv/bin/activate
```
Pool libraries are loaded at execution time. For example, if you use only "flexpool" mining pool, you don't need to
install "ethermine" libraries. Requirements files have been splitted to install only libraries you need.
```
pip install -r requirements/base.txt
pip install -r requirements/ethermine.txt
pip install -r requirements/flexpool.txt
```
To install all libraries at once:
```
pip install -r requirements.txt
```
@ -21,15 +46,17 @@ bot. You'll need the `chat_id` and `auth_key` for the next section.
## Configuration
Configuration file use the JSON format with the following keys:
* `miner`: wallet address of the miner (optional)
* `currency`: symbol of the currency to convert (optional)
* `telegram`: send notifications with Telegram (optional)
* `pools`: list of mining pools
* `miner`: wallet address of the miner
* `currency`: symbol of the currency to convert
* `telegram`: send notifications with Telegram
* `auth_key`: Telegram authentication key for the bot API
* `chat_id`: Telegram chat room id (where to send the message)
* `state_file`: persist data between runs into this file (default: `state.json`)
See [configuration example](config.example.json).
All options are optional (but the companion would do nothing).
## Usage