I am trying to register my pool in hybrid mode but I get this error at the end of the process:
Pool operational certificate not generated in hybrid mode,
│please use 'Pool >> Rotate' in offline mode to generate new hot keys, op cert and KES start period and transfer to on
│line node!
│Files generated when running 'Pool >> Rotate' to be transferred:
│/opt/cardano/cnode/priv/pool/Sigma_Stake/hot.vkey
│/opt/cardano/cnode/priv/pool/Sigma_Stake/hot.skey
│/opt/cardano/cnode/priv/pool/Sigma_Stake/op.cert
│/opt/cardano/cnode/priv/pool/Sigma_Stake/kes.start
All those keys are present, I did the rotate keys twice in offline mode just to be sure. Both nodes are synched.
Note: every time I start cntools its says that my pool KES are out of date and need to be rotated. I did not have any problems like this setting up on testnet using same procedure
It means the node is not running as a Producer, how glive looks?
I have op.cert and pool.id, cntools did no create any pool.cert?
I have not set the core up as producer yet, I though you should register the pool first?
Then, that’s why u see that error with KES expired.
where did u created the pool.cert? On live server or on offline one?
did u registered the pool? Did u paid 500 ADA?
I created the pool in offline mode. Then moved the files to online node and used Pool->Register->Hybrid
:/opt/cardano/cnode/priv/pool/Sigma_Stake$ ls -a
. .. cold.vkey hot.skey hot.vkey kes.start op.cert poolmeta.json vrf.skey vrf.vkey
CNTools did not generate any pool.cert ony op.cert
ok, understand, then u must create it manually
I tried to register the pool, it never completed, at the end after I selected pledge wallet, ip addres, port etc I get this error that “Pool operational certificate not generated in hybrid mode”.
I could try to copy over all files from offline (except cold.skey) to see if that works.
But what is op.cert then? It was generated by offline cntools Pool->New
Operational certificate, so for pool certificate u will need to type this, but before, update the pledge, cost, etc
If u will give me the details I can provide u the command
cardano-cli stake-pool registration-certificate \
--cold-verification-key-file $HOME/cold-keys/node.vkey \
--vrf-verification-key-file vrf.vkey \
--pool-pledge 100000000 \
--pool-cost 345000000 \
--pool-margin 0.15 \
--pool-reward-account-verification-key-file stake.vkey \
--pool-owner-stake-verification-key-file stake.vkey \
--mainnet \
--single-host-pool-relay <dns based relay, example ~ relaynode1.myadapoolnamerocks.com> \
--pool-relay-port 6000 \
--metadata-url <url where you uploaded poolMetaData.json> \
--metadata-hash $(cat poolMetaDataHash.txt) \
--out-file pool.cert
- node.vkey is cold.vkey in your case (adapt the path where the file is located)
- same for vrf.vkey - adapt the path
- stake.key - same adapt the path
That looks like the command that CNTools Pool->Register should run? Generating pool.cert, so why would it need pool.cert before running that command? Im getting confused by now
cntools - pool - register yes
But question… why in hybrid… it must be on online for the live node
U must use hybrid mode only on server where the wallet/pool files are kept
let me understand… u have 2 different servers? One offline and one online?
and wallet/pool files are stored on offline node right?
then use the hybrid mode on offline to create and sign the transaction then use online mode on live server to submit the transaction
I have read the guild-operators/cntools.md at alpha · cardano-community/guild-operators · GitHub
There they say to register in hybrid mode on the online node.
Note over Online: Register pool in hybrid mode
I will try to register hybrid on offline instead, it makes sense.
1 Like
But it did not work.
ERROR: CNTools started in offline mode, option not available
Yes
and wallet/pool files are stored on offline node right?
Yes
then use the hybrid mode on offline to create and sign the transaction then use online mode on live server to submit the transaction
When I try this (Pool->Register) I get this error:
ERROR: CNTools started in offline mode, option not available
Yeah I need break
I tried moving all files from offline (except cold.skey) to online but same thing happens.
I look at the source code:
if [[ ${SUBCOMMAND} = "register" ]]; then
if [[ ${op_mode} = "online" ]]; then
current_kes_period=$(getCurrentKESperiod)
echo "${current_kes_period}" > ${pool_saved_kes_start}
println ACTION "${CCLI} node issue-op-cert --kes-verification-key-file ${pool_hotkey_vk_file} --cold-signing-key-file ${pool_coldkey_sk_file} --operational-certificate-issue-counter-file ${pool_opcert_counter_file} --kes-period ${current_kes_period} --out-file ${pool_opcert_file}"
${CCLI} node issue-op-cert --kes-verification-key-file "${pool_hotkey_vk_file}" --cold-signing-key-file "${pool_coldkey_sk_file}" --operational-certificate-issue-counter-file "${pool_opcert_counter_file}" --kes-period "${current_kes_period}" --out-file "${pool_opcert_file}"
else
println DEBUG "\n${FG_YELLOW}Pool operational certificate not generated in hybrid mode,"
println DEBUG "please use 'Pool >> Rotate' in offline mode to generate new hot keys, op cert and KES start period and transfer to online node!${NC}"
println DEBUG "Files generated when running 'Pool >> Rotate' to be transferred:"
println DEBUG "${FG_LGRAY}${pool_hotkey_vk_file}${NC}"
println DEBUG "${FG_LGRAY}${pool_hotkey_sk_file}${NC}"
println DEBUG "${FG_LGRAY}${pool_opcert_file}${NC}"
println DEBUG "${FG_LGRAY}${pool_saved_kes_start}${NC}"
waitForInput "press any key to continue"
fi
fi
And to me that looks like you will always get this error since you are in HYBRID mode…
And also “Pool operational certificate not generated in hybrid mode” no it is not generated in hybrid mode, you cannot do that only offline mode or online mode, there is no Hybrid option for that.
but why you can try on offline mode on your live node
then move the transaction to the offline machine to sign in then submit the transaction from online node
Thank you very much for your help, I really appreciate it. I asked the guys over at guild-operators and they say that this message should be shown, it is just information, and that I was doing it the right way. So I can just ignore the message and continue with the registration. It is a really confusing message and the message will pop regardless if you have the correct keys or not (I think its very misleading though, obviously)
1 Like