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)
An advanced Twitter scraping & OSINT tool written in Python that doesn't use Twitter's API, allowing you to scrape a user's followers, following, Tweets and more while evading most API limitations.

TWINT - Twitter Intelligence Tool No authentication. No API. No limits. Twint is an advanced Twitter scraping tool written in Python that allows for s

TWINT Project 14.2k Jan 03, 2023
Multi Account Generator Minecraft/NordVPN/Hulu/Origin And ...

Multi Account Generator Minecraft/NordVPN/Hulu/Origin And ...

76 Jan 01, 2023
[Multithreading] [Proxy - auto & infile]

Discord-Token-Generator-AutoCheck [Multithreading] [Proxy - auto & infile] How to install? pip install -r requirements.txt run generator.py with pytho

Chakeaw__ 3 Oct 17, 2021
Telegram Vc Video Player Bot

Telegram Video Player Bot Telegram bot project for streaming video on telegram video chat, powered by tgcalls and pyrogram Deploy to Heroku 👨‍🔧 The

Dihan Official 11 Dec 25, 2022
VideocompBot - This is TG Video Compress BoT. Prouduct By BINARY Tech 💫

VideocompBot - This is TG Video Compress BoT. Prouduct By BINARY Tech 💫

1 Jan 04, 2022
4 Oct 28, 2021
Administration Panel for Control FiveM Servers From Discord

FiveM Discord Administration Panel Version 1.0.0 If you would like to report an issue or request a feature. Join our Discord or create an issue. Contr

NIma 9 Jun 17, 2022
Discord bot code to stop users that are scamming with fake messages of free discord nitro on servers in order to steal users accounts.

AntiScam Discord bot code to stop users that are scamming with fake messages of free discord nitro on servers in order to steal users accounts. How to

H3cJP 94 Dec 15, 2022
Accurately dump Commodore 64 tapes

TrueTape64 A cheap, easy to build adapter to interface a Commodore 1530 (C2N) Datasette to your PC to dump and preserve your aging Commodore 64 softwa

francesco 38 Dec 03, 2022
Rapid Sms Bomber For Indian Number.

Bombzilla Rapid Sms Bomber For Indian Number. Installation git clone https://github.com/sarv99/Bombzilla cd Bombzilla chmod +x setup.sh ./setup.sh Af

Saurav Jangid 1 Jan 12, 2022
企业微信消息推送的python封装接口,让你轻松用python实现对企业微信的消息推送

👋 corpwechat-bot是一个python封装的企业机器人&应用消息推送库,通过企业微信提供的api实现。 利用本库,你可以轻松地实现从服务器端发送一条文本、图片、视频、markdown等等消息到你的微信手机端,而不依赖于其他的第三方应用,如ServerChan。 如果喜欢该项目,记得给个

Chaopeng 161 Jan 06, 2023
HackZ-Token-Grabber-V2 - HackZ Token Grabber V2

HackZ-Token-Grabber-V2 was made by Love ❌ code ✅ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ 🌟

! ™NightMare 2 Mar 01, 2022
AWS-serverless-starter - AWS Lambda serverless stack via Serverless framework

Serverless app via AWS Lambda, ApiGateway and Serverless framework Configuration

Bəxtiyar 3 Feb 02, 2022
The most fresh and updateable Telegram userbot. By one of the most active contibutors to GeekTG

Installation Script installation: Simply run this command out of root: . (wget -qO- http://gg.gg/get_hikka) Manual installation: apt update && apt in

Dan Gazizullin 150 Jan 04, 2023
Wonderful Phoenix-Bot

Phoenix Bot Discord Phoenix Bot is inspired by Natewong1313's Bird Bot project yet due to lack of activity by their team. We have decided to revive th

Senior Developer 0 Aug 12, 2021
Currency Merger is a simple tool for joining values in different currencies

Currency Merger Description Currency Merger is a simple tool for joining values in different currencies. For example, if I have money in USD, EUR, BRL

Arthur Diniz 1 Feb 08, 2022
Discord Rpc With Python And 2 Buttons

Discord-RPC-With-Python- Discord Rpc With Python And 2 Buttons Packages pypresence time Required Programs Python Latest Version Random IDE Discord :P

Kaz 4 Dec 12, 2021
Telegram Bot to store Posts and Documents and it can Access by Special Links.

File-sharing-Bot Telegram Bot to store Posts and Documents and it can Access by Special Links. I Guess This Will Be Usefull For Many People..... 😇 .

Code X Botz 1.2k Jan 08, 2023
The first open-source PyTgCalls-based project.

Calls Music — Telegram bot + userbot for streaming audio in group calls ✍🏻 Requirements FFmpeg Python 3.7+ 🚀 Deployment 🛠 Configuration Copy exampl

Calls Music 74 Nov 19, 2022
Asynchronous wrapper for wttr.in weather forecast.

aiopywttr Asynchronous wrapper for wttr.in weather forecast. Synchronous version here. Installation pip install aiopywttr Example This example prints

Almaz 4 Dec 24, 2022