Slot leader but not adopted?

The pool is operational. Transactions get processed.Mempool size updates are visible.Comms-wise all seems fine.However, a pool became a slot leader recently but it wasn’t adopted.What clues should I look for in the logs to find the reason for such behaviour?




Log file

did u installed chrony service on your nodes for a better time synchronization?

Nope. Don’t have such service installed.

install it, it will help, could be the reason


I know this is an old post, but I had this same problem after moving my node to a different machine. Even though my KES keys were up to date, my journal was throwing errors when trying to mint blocks as if the KES period was off.
I found the errors by searching like this:

sudo journalctl --unit=cardano-node -g InvalidKesSignature

Just wanted to leave this post for people with similar problems. Rotate your KES keys and node.cert and it will likely fix the problem.

-Sully at RADAR

I think you hit this issue (I had it before when I moved the files to my Bare metal server)… wait…
always before to rotate the key check this:
the new value should be greater than the old one

Check KES key counter value: - Run command below from any directory path

cardano-cli text-view decode-cbor --in-file /opt/cardano/cnode/priv/pool//op.cert | grep int | head –1

Output:- Key Rotation - incremental int value # int(incremental int value)
Output:- 00 # int(0) (At pool creation)
Output:- 01 # int(1) (Post 1st KES key rotation)
Output:- 02 # int(2) (Post 2nd KES key rotation)

Thats a useful command, Alex. Thanks.

It’s odd though running it returned this:
KES changes

This was my 3rd KES rotation, however…

Just for clarity of those who are not on ctoools, the command would look like:
cardano-cli text-view decode-cbor --in-file /PATH TO NODE.CERT/node.cert | grep int | head

1 Like

and the error looks like:

Yes I was throwing KES number mismatch errors as well:

,(“kind”,String “InvalidKesSignatureOCERT”),(“opCertExpectedKESEvolutions”,String “51”),(“opCertKESCurrentPeriod”,String “309”)

Did you fix yours just by rotating your KES keys?

Yeah I rotated the kes 3-4 times till the number became greater than the last one
last time it had 3 and I had 2 after the last rotation… and I rotated again till the number became 4 which is > than 3 and no issues since then, this is why I am thinking also after rotating… you should bkp again the cold.counter file I mean replace the old cold.counter file with the new one (after rotation)… but it’s wired because I check and this file wasn’t modified (checked the date/time)

1 Like

I have the same problem, node leader for 2 block but not adopted yet… Just rotate the KES?

Here what I found
cardano-cli text-view decode-cbor --in-file node.cert | grep int | head
04 # int(4)
19 01 30 # int(304)

Did u missed or not yet?

U must check before and after the KES rotation

1 Like

Try to pull up in the log where you missed a block.

sudo journalctl --unit=cardano-node -g InvalidKesSignature

if no return, try

journalctl --unit=cardano-node | grep -A 2 “NodeIsLeader”

to see what error comes after it.


I just rotated my kes keys and leader slot 2 went away. But when i ran those command i got nothing in return

I just generated new vrf.vkey to rotate my kes key. Do i need to register the pool again with latest vrf.vkey??

If you restarted the node, your log is likely cleared out, I guess.

I know Alex is a cntools guy, so I’d defer to him on how to rotate your keys with that. But if you built via the coincashew guide, the procedure is as follows in section 18.1

This is what i used. Everything looks fine now: 0 leader 0 adopted 0 Invalid


You may not know for sure until you are up for you next slot leader assignment. If things don’t go right, use that above “NodeIsLeader” search in your log to see what the error is.
Good Luck!
-Sully at RADAR

Nodes were assigned to leaders but were not adopted… I had to rotate my kes keys again and the leader assignment went away…

1 Like