I started my small pool 2021/03 first with 20k ADA later increased to 40k ADA.
I was waiting nearly a year for my first block, created leaderlogs every 5 days.
But cncli didn’t show any block far and wide.
This morning i looked at my Grafana and saw “Pool Performance: 100”. I thoght wow why didnt cncli show that.
But all the tools likr pooltool didnt show a block and even in my db-sync instance was nothing to find.
So i started to search my logs in the suitable timeframe Grafana showed and found this:
pool-core-1 | e[34m[core:cardano.node.Forge:Info:424]e[0m [2022-01-27 05:51:42.00 UTC] fromList [("val",Object (fromList [("kind",String "TraceNodeIsLeader"),("slot",Number 5.1696411e7)])),("credentials",String "Cardano")]
pool-core-1 | e[34m[core:cardano.node.Forge:Info:424]e[0m [2022-01-27 05:51:42.17 UTC] fromList [("val",Object (fromList [("block",String "b8938e217149a81c054ac4edc48e58ebd0ad5533fdfa7f6cd993a4909147477f"),("blockNo",Number 6806779.0),("blockPrev",String "49c96fef6d3b2fb4f472f7bf5733d666e246c8a2c9e87939b3181d23416205ef"),("kind",String "TraceForgedBlock"),("slot",Number 5.1696411e7)])),("credentials",String "Cardano")]
pool-core-1 | e[31m[core:cardano.node.ChainDB:Error:414]e[0m [2022-01-27 05:51:42.27 UTC] Invalid block b8938e217149a81c054ac4edc48e58ebd0ad5533fdfa7f6cd993a4909147477f at slot 51696411: ExtValidationErrorHeader (HeaderProtocolError (HardForkValidationErrFromEra S (S (S (S (Z (WrapValidationErr {unwrapValidationErr = ChainTransitionError [OverlayFailure (OcertFailure (InvalidKesSignatureOCERT 398 357 41 "Reject"))]})))))))
pool-core-1 | e[34m[core:cardano.node.ChainDB:Info:414]e[0m [2022-01-27 05:51:42.27 UTC] Valid candidate 49c96fef6d3b2fb4f472f7bf5733d666e246c8a2c9e87939b3181d23416205ef at slot 51696406
pool-core-1 | e[31m[core:cardano.node.Forge:Error:424]e[0m [2022-01-27 05:51:42.27 UTC] fromList [("val",Object (fromList [("kind",String "TraceForgedInvalidBlock"),("reason",Object (fromList [("error",Object (fromList [("error",Object (fromList [("failures",Array [Object (fromList [("error",String "Reject"),("kind",String "InvalidKesSignatureOCERT"),("opCertExpectedKESEvolutions",String "41"),("opCertKESCurrentPeriod",String "398"),("opCertKESStartPeriod",String "357")])]),("kind",String "ChainTransitionError")])),("kind",String "HeaderProtocolError")])),("kind",String "ValidationError")])),("slot",Number 5.1696411e7)])),("credentials",String "Cardano")]
And started googling for this error most advised that cold.counter was not updated, but i doubt, i suspect i did not update kes.skey after roataing, because i learned that it’s not necessary to generate new kes-keypairs everytime and started only to generate new node.cert, and forgot to upload the last kes.skey.
I now rotated the keys twice and re-uploaded cold.vkey kes.skey and node.cert
While still using the same vrf.skey cncli now shows my block when using --ledger-set current
. Maybe i was just operationally blind.
So now i have questions:
- Is there anything else to refresh?
- Is it possible that an wrong kes.skey also leads to exactly this error?
- How can i verify now that everything is correctly setup?
- Will this command help me to check everything? Implement kes-period-info command by Jimbo4350 · Pull Request #3459 · input-output-hk/cardano-node · GitHub
I’m looking forward to your advices, it would kill me if it happened again, it’s not about the money, it just hurts me to wait again for a year to see if i did better.