tdiesler / nessus-cardano

A Cardano playground that explores various build/runtime aspects of the project. Something like an incubation space, before we are propose changes upstream. The initial focus is on "container first" for the Cardano node.
91 stars 29 forks source link

Monitor pool tickers for unreasonable updates #84

Closed tdiesler closed 2 years ago

tdiesler commented 2 years ago

We have repeatedly seen that pools suddenly change their parameters in a way that would redirect much/all delegator rewards to them (e.g. 3400 fix, 100% margin) - effectively stealing from folks who had put trust into that pool. Unbelievable, but happening!

tdiesler commented 2 years ago

Done

Run the Stake Pool Monitor

The monitor is configurable via these environment variables. All of which (except BLOCKFROST_API_KEY) are optional with defaults shown here.

When ticker list is UNDEFINED, the monitor selects the first MONITOR_TICKER_SIZE pools that are returned from Blockfrost. This is mainly for testing.

docker run -it --rm \
  -e BLOCKFROST_API_KEY="$BLOCKFROST_API_KEY" \
  -e BLOCKFROST_NETWORK="mainnet" \
  -e MONITOR_TICKER_LIST="UNDEFINED" \
  -e MONITOR_TICKER_SIZE=100 \
  -e MONITOR_MAX_FIXED=350000000 \
  -e MONITOR_MAX_FIXED_INCREASE=0.0 \
  -e MONITOR_MAX_MARGIN=0.03 \
  -e MONITOR_MAX_MARGIN_INCREASE=0.0 \
  -e MONITOR_ENDLESS=true \
  -e MONITOR_SLEEP=2000 \
  nessusio/cardano-pool-monitor