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)
A secure and customizable bot for controlling cross-server announcements and interactions within Discord

DiscordBot A secure and customizable bot for controlling cross-server announcements and interactions within Discord. Within the code of the bot, you c

Jacob Dorfmeister 1 Jan 22, 2022
Discord raid tool!

GANG Multi Tool Menu: -- YOUTUBE TUTORIAL! Features: Most Advanced Multi Tool! Spammer DM Spammer Friend Spammer Reaction Spam WebhookSpammer Typing

1 Feb 13, 2022
This is a tool to help people to make a bot for labelling images for machine learning projects.

labeller_images_python_telegramBOT This is a bot to help collect data for any machine learning project. It was developed using the python-telegram-bot

Diego Silveira 2 Nov 13, 2021
AWS SQS event redrive Lambda With Python

AWS SQS event redrive Lambda This repository contains one simple AWS Lambda function in Python to redrive AWS SQS events from source queue to destinat

1 Oct 19, 2021
A python oriented telegram with API of yobit.net

YoBit-BTC A python oriented telegram bot with API of https://yobit.net/ Developed By @riz4d What is Yobit? ➪ YoBit is a cryptocurrency exchange that w

Muhammed Rizad 6 Apr 02, 2022
A Simple Telegram Inline Torrent Search Bot by @AbirHasan2005

A Simple Telegram Inline Torrent Search Bot by @AbirHasan2005

Abir Hasan 61 Oct 28, 2022
Based on nonebot, a common bot framework for maimai.

mai bot 使用指南 此 README 提供了最低程度的 mai bot 教程与支持。 Step 1. 安装 Python 请自行前往 https://www.python.org/ 下载 Python 3 版本( 3.7)并将其添加到环境变量(在安装过程中勾选 Add to system P

Diving-Fish 150 Jan 01, 2023
Python On WhatsApp - Run your python codes on whatsapp along with talking to a chatbot

Python On WhatsApp Run your python codes on whatsapp along with talking to a chatbot This is a small python project to run python on whatsapp. and i c

Prajjwal Pathak 32 Dec 30, 2022
CVE-2021-39685 Description and sample exploit for Linux USB Gadget overflow vulnerability

CVE-2021-39685 Description and sample exploit for Linux USB Gadget overflow vulnerability

8 May 25, 2022
Discord CTF helper bot for CyberErudites

Eruditus - CTF helper bot Eruditus - CTF helper bot About Eruditus is a Discord CTF helper bot built with Python, it was initially designed to be used

Hafidh 34 Dec 30, 2022
Discord Rich Presence implementation for Plex.

Perplex Perplex is a Discord Rich Presence implementation for Plex. Features Modern and beautiful Rich Presence for both movies and TV shows The Movie

Ethan 52 Dec 19, 2022
A Python IRC bot with dynamically loadable modules

pybot This is a modular, plugin-based IRC bot written in Python. Plugins can bedynamically loaded and unloaded at runtime. A design goal is the abilli

Jeff Kent 1 Aug 20, 2021
This Server Cloner can clone the server you want with all the perms of roles in every particular channel.

Server-Cloner-with-perms 🚀 This Server Cloner can clone the server you want with all the perms of roles in every particular channel. Features Clone C

Gripz 0 Feb 17, 2022
Advanced telegram link in a message attach bot

Attach-Bot-V2 An advanced telegram attach bot Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com

Fayas Noushad 8 Oct 21, 2022
discord token grabber scam - eductional purposes only!

Discord-QR-Scam תופס אסימון תמונה של Discord על אודות סקריפט Python שיוצר אוטומטית קוד QR הונאה של Nitro ותופס את אסימון הדיסקורד בעת סריקה. כלי זה מד

Amit Pinchasi 0 May 22, 2022
Assassination API for getting random quotes from Assassination Classroom.

Assassination API Take advantage of what you have, while you have it. Quotes from Assassination Classroom Assassination classroom is one of best anime

Swanand Mulay 3 Jul 15, 2022
A bot can be used to broadcast your messages ( Text & Media ) to the Subscribers

Broadcast Bot A Telegram bot to send messages and medias to the subscribers directly through bot. Authorized users of the bot can send messages (Texts

Shabin-k 8 Oct 21, 2022
Balanced API library in python.

Balanced Online Marketplace Payments v1.x requires Balanced API 1.1. Use v0.x for Balanced API 1.0. Installation pip install balanced Usage View Bala

Balanced 70 Oct 04, 2022
Home Assistant for Opendata CWB. Get the weather forecast of the city in Taiwan.

Home assistant support for Opendata CWB. The readme in Traditional Chinese. This integration is based on OpenWeatherMap (@csparpa, pyowm) to develop.

11 Sep 30, 2022