Can not generate keys

Newbie here! I setup my stake pool with cntools. Stake pool says it is registered even though their is no ticker on I go into cntools pool and show in producer node to see my pools keys to later setup my node, says

Shelley command failed: stake-pool metadata-hash Error: Error validating stake pool metadata: Error in $: Failed reading: not a valid json value

I can’t see the keys which are needed to start producing blocks and have a feeling no block was producer to make a key in the first place. What am I doing wrong?

Public Pool id: 823fcd37285cb99491cd4f6cb2db0ac2a1c64bf8c5c603c3db891b2e

1 Like


You have an issue with your json file (hash issue) as u can see here:

you also can see this mismatch also in cntools - pool- show

all u have to do is to upload again the json file, and try to go on cntools to pool - modify…

after you will set the cost, pledge, you will be asked about the json file url… after you put the url link of the json there you should received a message like … json valid, do you want to use it?

complete the registration… restart your node… and check again

PS: url json path should be https… not http!


Thanks a ton going to try this.

and edit your metadata file from site… try to edit like this (without any spaces):

{“name”:“Amarii”,“ticker”:“AMAD”,“description”:“Stake Pool”,“homepage”:“”}

and I recomanded to setup a description… say something about your pool… just stake pool it’s not a cool description… you will want to add delegators right? convince them but setting a nice description


1 Like

Hi created a new json file and uploaded it and went through pool - modify added https which I didn’t before thanks for that. It registered okay but still couldn’t get the keys from the modified json file from my website. Tried again with no space in json file as you recommended still doesn’t seem to be working. Thanks for all the help so far.

Is there something else I am doing wrong?

did u restart the Producer?
restart it and show me the gliveview output.

also go to cd $CNODE_HOME/priv/pool/folder_name
ls -l
here u should have the metadata json file
try to cat the last file (check the date) and see if it’s looking like file from your site…
do u edited the file via notepad right and save it like json? then uploaded via ftp? maybe something changed the format/hash

if you go to cntools - pool - show … you will see the hash which should match… I think there it shows different hash … can u check?

also check this:

but I saw in you have the right ticker and also it can be found in daedalus (Ctrl+f and search AMAD)

1 Like

I recommend (this is how I did) to use a text file editor on your computer; open it and paste {“name”:“Amarii”,“ticker”:“AMAD”,“description”:“Stake Pool”,“homepage”:“”}
save it as metadata.json and after that upload via ftp to your website

1 Like

Thanks I have restarted cnode and update metadata.json just like you mentioned above. I even was able to register with adapools. Thanks again I attached gview screen shows not sure if I am synced and producing blocks. For some reason still can’t see pool-show data in cntools.Node

What do u mean u can’t see pool data in cntool? Can u send a screenshot?
can I see your env output? I know you need to edit your env file.

  • #POOL_DIR="{CNODE_HOME}/priv/pool/TEST" # set pool dir to run node as a core node #TOPOLOGY="{CNODE_HOME}/files/topology.json" # override default topology.json path
  • change the TEST name with your folder name where KES/CERTIFICATES are kept (usually your pool name) and make it active by deleting “#” from the beginning of the line:

and still metadata issues, I saw you edited it by adding 8c41978f77a0c20ddb86c0dd3645cbc5 (you should delete it) in the file… can you send me a screenshot from cntools immediately after you configuring URL for the metadata file? (I want to see the message received after you enter the URL)

PS: the above screenshot is from your Producer node? on BP you should not run topologyupdater, only add in your topology file the relays ip address (stay connected only with your relays for security reason)!

1 Like

I edit pool priv pool and also edited my topology.json to ride over the defaults.
Screenshots of ENV

Screenshots of Pool Show

This is my producer node, I did run an topology update. How do I correct that mistake?


turn of your topologyupdater script and delete from crontab.
if you not set it as a systemd you just need to delete from crontab

if you seted as systemd then:

  • check status :
    sudo systemctl status cnode-tu-push.service
    sudo systemctl status cnode-tu-push.timer
    sudo systemctl status cnode-tu-fetch.service

if you are see running then you will need to stop and disable
sudo systemctl stop cnode-tu-push.service
sudo systemctl stop cnode-tu-push.timer
sudo systemctl stop cnode-tu-fetch.service

                     sudo systemctl disable cnode-tu-push.service
                     sudo systemctl disable cnode-tu-push.timer
                    sudo systemctl disable cnode-tu-fetch.service

check again the status:
sudo systemctl status cnode-tu-push.service
sudo systemctl status cnode-tu-push.timer
sudo systemctl status cnode-tu-fetch.service

Now you should go in topology file and edit your topology file to connect only with your Relay:

“Producers”: [
“addr”: “x.x.x.x”,
“port”: relay_port,
“valency”: 1

and save the file

now, you will need to edit your env file:
I made a mark for which line you should delete # from the begining in order to activate the line,
for pool name you should go to take it from priv/pool and there type ls -l and copy the name of the folder and edit in env between the “” for eg : POOL NAME=“ALEX”

and you need to activate (delete # from the begining) all line below for wallet and pool file

after that restart your Producer
and tell me how it’s look in gliveview (run the ./ script)


Thanks nearly there. Edited the topology again. Edited the env.
Restarted the node and get
Node socket not set in env file and automatic detection failed! [source:]

After trying to run ./

then activate the line 3, 5,6, and 7, and try again, also in script are u starting the node with host address right?


1 Like

Activated line 3, 5,6, and 7.
Yes I am running on Restarted the node but its been a few hours now ./ isn’t coming up. Thanks

What do u mean … can u put a snapshot here?
What is the error when u run the script ./

also line 17 shod be active in env

can u type cd $CNODE_HOME/priv/pool
and then ls -l

Is the file named Amarii_AMAD_Stake_Pool ?


1 Like

I didn’t active line 17, Yes the name of the file is Amarii_AMAD_Stake_Pool.
I should active that right?

Error for glview is



Yes please activate it;
Then type
sudo systemctl stop cnode

go to scripts folder and run ./ and show me the err

And please delete the last picture… do not send pictures with your producer ip/username/etc


1 Like

Yup ran the code and got this

Invalid argument ` ’

Usage: cardano-node (run | [–help])
Start node of the Cardano blockchain.
./ line 42: --shelley-kes-key: command not found


Ok… in env did u activate all lines with wallet and pool right?

go to priv/pool/Amari…
and ls -l

what files do u see there?

1 Like

Yes, all wallet and pool entries are activated in the env.

In priv/pool/Amarii

Are the files I see in the directory.