5

I just saw this tweet: https://twitter.com/SmaugPool/status/1428010540711006218

Next epoch (285) should be great at 109% luck with 19 leader slots

At the time the tweet was made, epoch 284 was still in progress.

How is it possible that the stake pool owner already knows how many slots/blocks he gets assigned in the next epoch? Can this information be retrieved from the blockchain?

Also wouldn't this mean that one could always check which pool has the most blocks assigned and then switch to that pool for the next epoch?

3 Answers 3

6

Yes, the slots allotted to a pool for minting in the next epoch can be calculated (36 Hours before the epoch). Cncli is a community tool (available at github repository) made by, Andrew Westberg (@AndrewWestberg-BCSH), Michael Fazio, Andrea Callea, Thomas Diesler. The details provided are quite exhaustive. Sample output of the leader log command is below

{
 "status": "ok",
 "epoch": 227,
 "epochNonce":   XXX",
 poolId":    --------",
 "sigma": 0.0028306163817569175,
 "d": 0.5,
 "assignedSlots": [
 ...
 {
     "slot": 13083245,
     "slotInEpoch": 382445,
     "at": "2020-11-05T23:58:56-08:00"
 },
 {
      "slot": 13106185,
      "slotInEpoch": 405385,
      "at": "2020-11-06T06:21:16-08:00"
 }
      ...
 ]
}

The selection of slot leader mechanism is explained nicely in NerdOut

5

Also wouldn't this mean that one could always check which pool has the most blocks assigned and then switch to that pool for the next epoch?

The number of blocks calculated for the next epoch is, among other things, based on a snapshot of the delegations to each pool taken at the beginning of the current epoch.

This means that if you were not staked with the pool at the beginning of the current epoch, your stake will not be earning rewards for the coming epoch (the epoch during which the calculated number of blocks will be minted).

If you delegate to a pool once they know how many blocks are going to be minted in epoch X (i.e. within 36 hours prior to epoch X starting), your stake will be part of the snapshot that helps determine how many blocks will be minted in epoch X+1, and it is during epoch X+1 that your stake will start earning rewards.

1
  • Since I can't mark 2 questions as accepted answer, this is not the accepted answer. Still this answers the second part of my question, so this answer in combination with raghus answer is what I was looking for. Thanks Chrismo!
    – eddex
    Commented Aug 25, 2021 at 5:11
0

Result from cncli-leaderlog shows me, that we had 1 assigned block 3 days before. But no block minted, relay and block producer are running well. Can you help me, what should I check? and eventually correct for the next assigned slot? Or the result from cncli-leaderlog.sh are not correct? Thanks, MB

{
  "no": 1,
  "slot": 39334091,
  "slotInEpoch": 281291,
  "at": "2021-09-05T20:53:02-07:00"
}
1
  • Hi! welcome to the Cardano stack. If you have a particular doubt please create a new post with your question. Commented Sep 8, 2021 at 4:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.