Scheduled Block Checker for Cardano Stakepool Operators

Overview

ScheduledBlocks

Scheduled Block Checker for Cardano Stakepool Operators

Lightweight and Portable Scheduled Blocks Checker for Current Epoch. No cardano-node Required, data is taken from blockfrost.io

Note: This is a reworking of old python script leaderLogs.py available on https://github.com/papacarp/pooltool.io.git

Prerequisites:

  • Python 3.8
  • pip (Python package installer)
  • libsodium library

Setup:

  • clone this repository using git: git clone https://github.com/adasnakepool/ScheduledBlocks.git
  • execute inside the newly cloned directory: pip install -r requirements.txt to install all needed python package requirements
  • get a project id on blockfrost.io
  • make sure you can access your vrf.skey file (you can copy in it a path of your choice) and remember to keep it as read only chmod 400 vrf.skey
  • copy the config.yaml.default into a new file and call it config.yaml (do not remove the default if you want to update the script via git pull in future)
  • open the newly created config.yaml and configure the settings accordingly:
    • timezone: your timezone (default: "Europe/Berlin")
    • blockfrost_id: project id from blockfrost
    • pool_id: your pool id. You can get it from adapools (it's the last part of the url)
    • pool_ticker: your pool ticker
    • vrf_key: "the path (relative or absolute) to the vrf.skey file

Usage:

python3 ScheduledBlocks.py

Output:

  • a console output with all the slots assigned for the latest available epoch
  • a SQLite database called: slotschedule.db which contains the slots assigned for every epoch the tool has been run.
Comments
  • Libsodium 1.0.18: Attribute Error for Libsodium library

    Libsodium 1.0.18: Attribute Error for Libsodium library

    Traceback for the error:

    Traceback (most recent call last):
      File "/home/ada/git-libs/ScheduledBlocks/ScheduledBlocks.py", line 324, in <module>
        slotLeader = isSlotLeader(slot, activeSlotCoeff, sigma, eta0, poolVrfSkey)
      File "/home/ada/git-libs/ScheduledBlocks/ScheduledBlocks.py", line 310, in isSlotLeader
        cert=vrfEvalCertified(seed,tpraosCanBeLeaderSignKeyVRFb)
      File "/home/ada/git-libs/ScheduledBlocks/ScheduledBlocks.py", line 286, in vrfEvalCertified
        proof = create_string_buffer(libsodium.crypto_vrf_ietfdraft03_proofbytes())
      File "/usr/lib/python3.9/ctypes/__init__.py", line 387, in __getattr__
        func = self.__getitem__(name)
      File "/usr/lib/python3.9/ctypes/__init__.py", line 392, in __getitem__
        func = self._FuncPtr((name_or_ordinal, self))
    AttributeError: /usr/local/lib/libsodium.so: undefined symbol: crypto_vrf_ietfdraft03_proofbytes
    
    opened by mohammadsaadraza 3
  • NameError: name 'epoch' is not defined

    NameError: name 'epoch' is not defined

    Hello again, I get this error when executing the script:

    Traceback (most recent call last):
      File "ScheduledBlocks.py", line 258, in <module>
        firstSlotOfEpoch = (firstSlot) + (epoch - 211)*epochLength
    NameError: name 'epoch' is not defined
    

    Hope you find some time - again, thx you for your efforts.

    BR, GETI

    opened by labor1983 2
  • false output when using next option

    false output when using next option

    Hi there, I use this fantastic tool as it's much lighter on my node, but recently when I use the next option it has given me false information. on 2 occasions the next option stated we had a block assigned but when I run it again during the epoch using the current option it states I dont have a block assigned.

    I'm not sure if this is updated anymore but id love if this tool could be maintained for the upcoming Vasil fork etc

    opened by ThePoolGuyRAFL 1
  • Some Python Modules missing

    Some Python Modules missing

    Hello Snake, first of all, thx you so much for your efforts of (re)writing this script. I run into the following issue:

    These modules need to be installed manually: pip install pytz pip install readchar

    BR, GETI

    opened by labor1983 1
  • New functionalities for ScheduledBlocks script

    New functionalities for ScheduledBlocks script

    Added:

    • a config file (config.yaml) to simplify setup of the tool
    • a SQLite database that is automatically generated and contains assigned slots per epoch, in a similar format to cncli.db database
    • gitignore file

    Extra changes:

    • some code refactoring
    • readme file modified

    Happy to contribute to further developments! Mik - ADATA pool

    opened by mik1893 1
Releases(v1.0.0)
Owner
SNAKE (Cardano Stakepool)
BI Technical Consultant
SNAKE (Cardano Stakepool)
This is a straightforward python implementation to specifically grab basic infos about IPO companies in China from Sina Stock website.

SinaStockBasicInfoCollect This is a straightforward python implementation to specifically grab basic infos about IPO companies in China from Sina Stoc

CrosSea 1 Dec 09, 2021
Mventory is an API-driven solution for Makerspaces, Tinkerers, and Hackers.

Mventory is an API-driven inventory solution for Makers, Makerspaces, Hackspaces, and just about anyone else who needs to keep track of "stuff".

Make Monmouth 107 Dec 21, 2022
Azure Neural Speech Service TTS

Written in Python using the Azure Speech SDK. App.py provides an easy way to create an Text-To-Speech request to Azure Speech and download the wav file.

Rodney 1 Oct 11, 2021
[OSGIFI] - INFORMATION GATHERING TOOL, FROM INSTAGRAM ACCOUNTS.

⚑ OSGIFI THIS TOOL PERMIT YOU TO DISCOVERING & GATHERING INFO FROM INSTAGRAM ACCOUNTS, FOR EXAMPLE: Full Name Verified Account Or Not Private Account

BASILEOLUS 9 Nov 29, 2022
This project is a basic login system in terminal for Discord

Welcome to Discord Login System(Terminal) πŸ‘‹ This project is a basic login system in terminal for Discord Author πŸ‘€ arukovic Github: @SONIC-CODEZ Show

SONIC-CODEZ 2 Feb 11, 2022
Official Python wrapper for the Quantel Finance API

Quantel is a powerful financial data and insights API. It provides easy access to world-class financial information. Quantel goes beyond just financial statements, giving users valuable information l

Guy 47 Oct 16, 2022
A Powerful Discord Webhook spammer

RocketHook | The discord spammer Some links: Telegram | Github FEATURES πŸ€– Hide your ass and be a good robot ! Full proxies support HTTP/S, SOCKS4/5 S

Or 2 Feb 27, 2022
A Anything goes Discord bot written in python and uses the wrapper Discord.py

GerardTheWizard A Anything goes Discord bot written in python and uses the wrapper Discord.py What can he do? Allow users to level up through typing,

1 May 05, 2022
Prometheus exporter for CNMC API

CNMC Prometheus exporter It needs a Prometheus Pushgateway Install requirements via pip install -r requirements.txt Export the following environment v

GISCE-TI 1 Oct 20, 2021
OliviaV2: danger bot with python

🎢 OLIVIA V2 🎡 Requirements πŸ“ FFmpeg NodeJS nodesource.com Python 3.7 or higher PyTgCalls πŸ§ͺ Get SESSION_NAME from below: Pyrogram πŸŽ– History Featur

Alvaro Einstein 2 Nov 04, 2021
Python SDK for accessing the Hanko Authentication API

Hanko Authentication SDK for Python This package is maintained by Hanko. Contents Introduction Documentation Installation Usage Prerequisites Create a

Hanko.io 3 Mar 08, 2022
An API that uses NLP and AI to let you predict possible diseases and symptoms based on a prompt of what you're feeling.

Disease detection API for MediSearch An API that uses NLP and AI to let you predict possible diseases and symptoms based on a prompt of what you're fe

Sebastian Ponce 1 Jan 15, 2022
Simple base for a telethon bot!

Telethon Bot Simple base used to make a Telegram Bot in telethon. Join @BotzHub! Note: The client, here, is named BotzHub. Fork and add your plugins t

Aditya 54 Oct 21, 2022
Script Crack Facebook, and Instagram πŸšΆβ€β™‚

in-mbf Script Crack Facebook, and Instagram πŸšΆβ€β™‚ Bukti Install Script $ pkg update && pkg upgrade $ pkg install git $ pkg install python2 $ pip2 insta

Yumasaa 5 Dec 27, 2021
Check your bot status automatically using userbot, simply and easy

Status Checker Userbot check your bot status automatically using userbot, simply and easy. Mandatory Vars API_ID : Telegram API_ID, get it from my.tel

ALBY 6 Feb 20, 2022
Kevin L. 3 Jul 14, 2022
Scripts to help you win the Pizza Express

Slice of the Prizes Slice of the Prizes is a Python Script designed to enter the "Slice of the Action" competition hosted by Pizza Express the competi

Luke Bendall 1 Nov 04, 2021
Binance Futures Client

Binance Futures Client

4 Aug 02, 2022
Telegram Bot for saving and sharing personal and group notes

EZ Notes Bot (ezNotesBot) Telegram Bot for saving and sharing personal and group notes. Usage Personal notes: reply to any message in PM to save it as

Dash Eclipse 8 Nov 07, 2022
Lending-Club-Loans - Using TensorFlow to create an ANN model to predict whether people would charge off or pay back their loans.

Lending Club Loans: Brief Introduction LendingClub is a US peer-to-peer lending company, headquartered in San Francisco, California.[3] It was the fir

Ali Akram 1 Jan 03, 2022