Problem starting core node (testnet)

Hi community,
I have all the files in “core” directory i.e. genesis, topology and config. But still when I start running node in home directory . it says yamlexception “yaml not found: testnet-config.json”.
How to solve this ??

Do you start it with tmux? Because I had the same problem but only when running with tmux. You have to change the paths in your startNode.sh file to the exact place where the files are located. In my case that was the solution. Just open your startNode.sh with nano and change the paths… Brgds

Yep you have an issue with specifying the correct file path

You will need to check whatever is starting your script and verify both the topology and config file paths are appropriately referenced

1 Like

Thanks simlshady,
But I can’t find the file u mention …startnode.sh…
Where can I find it

Its not necessarily named “startnode” - you have to look for your own starting script. Maybe its in your home directory? To start the node you have to type in something like ./startthegoddamnnode.sh - and thats the file you have to edit with nano. What guide do you use?

1 Like

Hey frog,
I edit the bashrc as mention in the tutorial and the give the path…what else am I missing?

I am following stake pool school.
It means I have a create a new sh. File because I don’t have right now.
Can u specify more details on how to create one.

Look at how you’re starting the node - that is where you will need to appropriately reference the config and topology file paths

Please provide the command you are using to start your nodes

2 Likes

I use these commands
cardano-node run \

–topology testnet-topology.json
–database-path /db
–socket-path /db/node.socket
–host-addr x.x.x.x
–port 3001
–config testnet-config.json
–shelley-kes-key kes.skey
–shelley-vrf-key vrf.skey
–shelley-operational-certificate node.cert

I use my ipv4 in host addr …

You need to enter the full path to your testnet-topology.json and testnet-config.json files

–topology /path/to/testnet-topology.json
–database-path /db
–socket-path /db/node.socket
–host-addr x.x.x.x
–port 3001
–config /path/to/testnet-config.json
–shelley-kes-key kes.skey
–shelley-vrf-key vrf.skey
–shelley-operational-certificate node.cert

replace /path/to/ with the actual path to those files

2 Likes

Navigate to the directory where the files are located, and type the following command:

pwd

this will output the full path to the working directory where the files are located

2 Likes

I have done it also now its showing this.


And also I don’t have db folder inside the directory where all the configuration files are.

Hello,

First off, /db/node.socket is not the correct full path - please review this - it should look something like /home/[user]/cardano-node/db/node.socket

Once the database path is corrected, if you still run into the restricted write access issues, you can see a solution as defined here:

Also, the db directory will create itself once the node starts if it does not exist

4 Likes

Thank you, Adafrog it’s working now…:+1:

2 Likes

Awesome and my pleasure - nice work!

I’m getting the same error, but this is after I finished the node certification submissing for the testnet and was ready to start the server again with this new config. The problem is the stakepool lessons mix up mainnet configs files with testnet config files.
Anyway, I’m at the point where I need to set up relays, and I have no idea if that’s possible on testnet. I pinged the default testnet relays but got no respose, then I pinged the shelly-testnet relays, and they worked, but mixing shelly-testnet with testnet just leads to problems.

I think at this point, I’ve gotten enough practice to set up the real thing, which is probably easier than dealing with all these conflicting testnet protocols, config files, and instructions.

Hi JT,

I think there’s an issue with testnet file naming consistency, as shelley-testnet are the correct relays - I don’t believe there are two separate chains. What ever you used to sycn with the chain on your block producing node is what you can use in your relays.

Before moving to mainnet, I would definitely recommend practicing building and signing transactions offline if you have not done that already. Managing cold keys strictly offline is extremely important and should be an absolute priority for any serious stake pool operation.

Your friend, FROG

1 Like

Thanks FROG for your help and dealing with my frustration.
I’ve been in crpyto since early 2014, so I’m used to offline storage on micro sd cards and USBs using LUKS, so that shouldn’t be a problem. I’m just too eager to get the real node online because I feel like I’m going to miss out if I get my pool started too late.

I hear you, JT and my pleasure. I understand where you’re coming from, and rest assured running a pool and establishing a foundation and brand is a long game.

I wish you the best and look forward to working with you.

FROG

1 Like

Thanks, FROG!

I fixed the problem:

The official docs tell you to start the core node from within the relay directory (https://cardano-foundation.gitbook.io/stake-pool-course/stake-pool-guide/start_your_nodes/start-your-node):

cardano-node run
–topology testnet-topology.json
–database-path db
–socket-path db/node.socket
–host-addr x.x.x.x
–port 3001
–config testnet-config.json

and this command works fine, but later in the course when you’ve submitted your node.cert, it then asks you to start up the node again (https://cardano-foundation.gitbook.io/stake-pool-course/stake-pool-guide/stake-pool/corenode-start) but this time it looks like…

cardano-node run
–topology shelley_testnet-topology.json
–database-path /db
–socket-path /db/node.socket
–host-addr
–port
–config shelley_testnet-config.json
–shelley-kes-key kes.skey
–shelley-vrf-key vrf.skey
–shelley-operational-certificate node.cert

The difference that keeps the command from working is ‘/’ in ‘/db’ in the third and fourth lines. I guess the cardano-cli command works for both relative and absolute paths, so you can either get rid of ‘/’ in the 3rd and 4th lines and run the command from within ‘relay’ directory, or like you said, just use the absolute path /home/“user”/relay/db or ~/relay/db I suppose.

1 Like