Problem starting core node (testnet)

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

I started from scratch a few days ago…my Ubuntu install had system issues. I should have backed it up so I wouldn’t have to do a fresh install. My old install had gotten just past metadata part of course.

In this new install I’ve been using relative paths all along like my old install, and they’ve worked for me as long as I run them from the correct directory, “relay/”. The reason I’ve avoided using absolute path…I don’t know if this reason is legitimate because I haven’t used absolute path before, but my guess is with absolute path you can accidentally start generating files in unintended directories, and sorta accidentally clutter you home directory a little bit. I’ve caught myself using commands to generate files only to realize the command didn’t work because I was in the wrong directory, so relative path keeps me from creating files in the wrong places I suppose.

If you look at the stake pool course, the command for running your pool as a slot leader candidate has several errors:

https://cardano-foundation.gitbook.io/stake-pool-course/stake-pool-guide/stake-pool/corenode-start

cardano-node run \

–topology shelley_testnet-topology.json \

–database-path /db \

–socket-path /db/node.socket \

–host-addr PUBLIC IP \

–port PORT \

–config shelley_testnet-config.json \

–shelley-kes-key kes.skey \

–shelley-vrf-key vrf.skey \

–shelley-operational-certificate node.cert

  1. In the third line, database path points to the root directory
  2. In the fourth line the same problem: node-socket path points to root directory
  3. I don’t know if this is a mistake or not, but if core host address is ‘external IP’, you’re ‘advertising’ or at least making your external IP available to the rest of the web. I guess this is OK if your relays are outside your LAN, but in my situation, my relay node is on my LAN along with my block producer, so I just use an internal IP for the core node to talk to my relay and use an internal IP for my relay to talk to my core node, but my relay also talks to IOHK nodes externally, but both start-up scripts use internal IPs…don’t know if that’s a mistake on my part, but I think things are working so far.

Also, 2nd and 7th lines use and underscore “_” in the filenames which doesn’t work when you download the topology files from ‘hydra’ location for use on your pool.
I don’t see need to use hydra files when they are essentially the same testnet files we’ve been using all along since the beginning of the course - they just have the name “shelley” in them, but their content is essentially the same.

Anyway, I don’t think I’m getting any errors now:

I think it’s working, the core node, but all I get is the message…

[2020-09-13 19:35:34.00 UTC] fromList
[bp-01-64:cardano.node.Forge:Info:45] [2020-09-13 19:35:34.00 UTC] Not leading slot 5656518
[bp-01-64:cardano.node.ForgeTime:Info:45] [2020-09-13 19:35:34.00 UTC] fromList
[bp-01-64:cardano.node.Forge:Info:45] [2020-09-13 19:35:35.00 UTC] {“kind”:“TraceStartLeadershipCheck”,“slot”:5656519,“utxoSize”:51160}
[bp-01-64:cardano.node.ForgeTime:Info:45] [2020-09-13 19:35:35.00 UTC] fromList
[bp-01-64:cardano.node.Forge:Info:45] [2020-09-13 19:35:35.00 UTC] Not leading slot 5656519
[bp-01-64:cardano.node.ForgeTime:Info:45] [2020-09-13 19:35:35.00 UTC] fromList
[bp-01-64:cardano.node.Forge:Info:45] [2020-09-13 19:35:36.00 UTC] {“kind”:“TraceStartLeadershipCheck”,“slot”:5656520,“utxoSize”:51160}

Every so often, I do get a message (which must come from my relay) letting my core node know about the latest slot:
[bp-01-64:cardano.node.ChainDB:Notice:35] [2020-09-13 19:48:50.45 UTC] Chain extended, new tip: bc3763ae4b3ba1e3e947deb3a7b72c9496d988b74ad638ff2a010c6b3926c7d4 at slot 5657314

lol…anyway, most of the message are about not being a slot leader. I guess it’s not easy to become a slot leader. :slight_smile:

Anyway, I have regular internet and my two laptops are connect via cat 5 cable to a linksys router which in turn is bridged to my main Asus router because I wanted static IPs for my relay and BP and I’m having trouble setting those up over wifi…only ethernet seems to accept that. I’m leaving wifi for use for my other home devices, like smart tv, other computers, etc. I’m pretty sure my connection is slow compared to most, but I guess these messages I’m getting are not error messages either, I hope. :slight_smile:

I had too much trouble with my 2nd relay on the cloud - it always had subscription issues. To port forward on AWS it’s a complicated procedure. You need “session manager”, you need to install apps/packages and dependencies on your linux machine at home. There’s a list of things that need to be done to get it to work and the directions given are very confusing, and I haven’t seen any youtube videos of people port-forwarding from home to an AWS instance. My belief is that AWS makes it deliberately difficult because they don’t want a hybrid deployment in which your network is both at home and on their servers. I feel like they want the whole deployment on their servers or at your home, but not both.

Anyway, I’m ready for that metadata part of the course again. Scary stuff, to work your way all the way to the end of the course, just for things to fail. :confused:

1 Like