Leader Log Scripts
Scripts for stake pool owners to check when their pool is scheduled for the slot leadership
Leader Log scripts were developed by papacarp from pooltool.io. For full details of the scripts see pooltool.io public github
The scripts allow stake pool owners to check when their pool is scheduled for the slot leadership. The steps below cover the following.
  • Installation - Updating and Installing required packages
  • Download Scripts - Download of the scripts
  • Executing scripts - Create Cardano ledger and run scripts
All steps are required to be run on your Block Producer node

Installation

Below guide is for Ubuntu 20.04.
Update and add ppa package:
1
sudo apt-get update
2
sudo apt-get install -y software-properties-common
3
sudo add-apt-repository ppa:deadsnakes/ppa
Copied!
Update, install python and pip:
1
sudo apt-get update
2
sudo apt-get install -y python3.9
3
sudo apt-get install -y python3-pip
Copied!
Check version of the scripts:
1
python3 --version
2
pip3 --version
Copied!
Python output Python 3.8.5
PIP output pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
Install python package pytz:
1
pip3 install pytz
Copied!

Download scripts

Download getSigma.py and leaderLogs.pyscripts from github:
Example uses $NODE_HOME as the location of the Cardano node folder
1
cd $NODE_HOME
2
wget https://raw.githubusercontent.com/papacarp/pooltool.io/master/leaderLogs/getSigma.py
3
wget https://raw.githubusercontent.com/papacarp/pooltool.io/master/leaderLogs/leaderLogs.py
Copied!

Executing scripts

Create Cardano ledger state:
1
cardano-cli query ledger-state --mainnet --allegra-era --out-file ledger-state.json
Copied!
This may take a minute and create ledger-state.json inside your $NODE_HOME
Using your Pool ID and ledger-state.json execute getSigma script:
If you do not know your pool id you can find this in any of the staking pool sites (adapools.org, pooltool.io or cardanoscan.io). Example below from pooltool.io
1
python3 getSigma.py \
2
--pool-id a930baffeb4ab6d3e93b39a70f1d6b5f5f922baad9e4f618da285b05 \
3
--ledger ledger-state.json
Copied!
This will output your Sigma value for the next steps
building active stake
Sigma: 6.970276119270975e-05
Run leaderLogs.py with following parameters.
Below summary of arguments for full details see the pooltool.io github. Some of these are optional arguments but included in the example as these are what I use.
  • --vrf-skey path to the pool vrf.skey file.
  • --sigma value from the previous command
  • --pool-id stake pool id
  • --epoch the epoch your running this for. In this case 223
  • --epoch-nonce epoch 223 nonce (different value of each epoch). This can be found here.
  • -bft show potential blocks you would have had if Cardano was full decentralised.
  • --tz set the timezone of your location. Run command below to see list of timezones
    1
    timedatectl list-timezones
    Copied!
Execute leaderLogs.py:
1
python3 leaderLogs.py \
2
--vrf-skey vrf.skey \
3
--sigma 6.970276119270975e-05 \
4
--pool-id a930baffeb4ab6d3e93b39a70f1d6b5f5f922baad9e4f618da285b05 \
5
--epoch 223 \
6
--epoch-nonce fa2cd68857d74b32d704c86ac94ad40c2d7b5d7143ace3ea4e1fa798794059c0 \
7
-bft \
8
--tz Europe/London
Copied!
If are scheduled for slot leadership then you should see output similar to this:
1
Checking leadership log for Epoch 223 [ d Param: 0.58 ]
2
2020-10-14 20:19:53 ==> Leader for 164102, Cumulative epoch blocks: 1
3
2020-10-14 20:19:53 ==> Leader for slot 164102, Cumulative epoch blocks: 1
4
2020-10-15 08:39:00 ==> Leader for 208449, Cumulative epoch blocks: 2
5
2020-10-15 08:39:00 ==> Leader for slot 208449, Cumulative epoch blocks: 2
6
2020-10-17 10:46:55 ==> Stolen by BFT for 388924, Cumulative stolen blocks due to d param: 1
7
2020-10-17 10:46:55 ==> Leader for slot 388924, Cumulative epoch blocks: 2
8
2020-10-17 21:01:49 ==> Stolen by BFT for 425818, Cumulative stolen blocks due to d param: 2
9
2020-10-17 21:01:49 ==> Leader for slot 425818, Cumulative epoch blocks: 2
Copied!
Security: It is responsibility of the operator to protect and secure the stake pool. Consider what you share with others. The Basics
Support: If you find the contents useful, then please consider supporting by either delegating your ADA to ticker Love2 or sending ADA to the following address - addr1qy2jswg2xfca87h79050dzgj0yup69u9gpclwn9jl2g5tlfvaj6kvenchu5gwxlfhffysxsnekq6kh4z7yq758w2x3gq7xc7sn
Last modified 11mo ago