How to configure stake pool with 2 relay nodes

Hello,

I’m currently setting up my own stake pool, and I have ran into a simple problem but I’m just too confused as to how to configure your stake pool with 2 relay nodes. I am following the Guide: How to build a Cardano Stake Pool - CoinCashew guide, and have gotten to the registration part, as I want to first have one relay and add another (I know I have to “rebuild” the certification but that’s not a problem, nor is the registration certificate giving me a headache, rather the configuration files on the relay and the block producer. I have put in the IP of the block producer on my one relay, and the IP of my relay on the block producer, but now I’m wondering how to add a second one, what’s the proccess and how to format the configuration file accordingly. Thank you for any help.

  • u will need to send a new pool registration (without paying again the 500ADA) and add ur 2nd relay

  • u need to add ur new relay in Producer topology file (open the port in fw, etc) and restart the Producer

  • create topology updater script for new relay as u did for the working relay

Cheeers,

Hello,

thank you for the quick response. I completely understand like “how” to do it, I’m just wondering how to add a second IP in the config files, for example “82.191991.2929.86” to point to the relay node.

Screenshot 2021-03-13 174655 !

If you look at the pictures, how would I add another relay in the configuration?

Thanks.

The screenshot is from the block producer, how would I let’s say, add another relay in that file, and how would the relay config look?
Screenshot 2021-03-13 174817
This is the relay screenshot.

Ok,

For producer


{
  "Producers": [
    {
      "addr": "relay1_IP",
      "port": relay1_port,
      "valency": 1
    },
       {
      "addr": "relay2_IP",
      "port": relay2_port,
      "valency": 1
    }
  ]
}
1 Like

Oh, thank you so much. For example, how would my relay files look like? Would you please be so kind and type it out, thank you so much for the help.

Matic

Above is the configuration for Producer
Keep only ur relays in topology file

For relay u will need to update the topologyupdater script

Oh, but why is this step included then?Screenshot 2021-03-13 180640

This is the default file when u install the node;
Latter in the guide u will see that u will configure the topology updater script

So this file doesn’t matter anymore?

It matters but will be populated by the script… not manually
Only in Producer node needs to be manually configured… because on Producer u will not run the topologyupdater script

Right, so if I understand correctly, the topologyUpdater connects to BP and then fetches the IP’s of all relays and publishes them?

No need to configure any IP’s in the topologyUpdater file?

The topology updater keeps ur nodes online; and also populate ur topology file with custome peers (ur Producer and ur oher relays) and with other public relays

  • Since the test network has to get along without the P2P network module for the time being, it needs static topology files. This “TopologyUpdater” service, which is far from being perfect due to its centralization factor, is intended to be a temporary solution to allow everyone to activate their relay nodes without having to postpone and wait for manual topology completion requests.

The topologyupdater shell script must be executed on the relay node as a cronjob exactly every 60 minutes . After 4 consecutive requests (3 hours) the node is considered a new relay node in listed in the topology file. If the node is turned off, it’s automatically delisted after 3 hours.*

U will configure the Producer and other relays (yours) IP

So sorry to bother you, this is the only thing which I don’t understand in the guide, where do I specify the IP’s according to the guide? Thanks, and when I create the other relay node, do I only put in the block producer’s IP or the other relay’s IP too, and how do I do that if so? Thanks again.

Step 14 from the guide

🤹♀
Update your relay node topology files

U need to create the script

On relaynode1

cat > $NODE_HOME/relay-topology_pull.sh << EOF
#!/bin/bash
BLOCKPRODUCING_IP=
BLOCKPRODUCING_PORT=6000
curl -s -o NODE_HOME/{NODE_CONFIG}-topology.json “https://api.clio.one/htopology/v1/fetch/?max=20&customPeers=${BLOCKPRODUCING_IP}:${BLOCKPRODUCING_PORT}:2|relays-new.cardano-mainnet.iohk.io:3001:2
EOF

U need to edit these 2 lines:

BLOCKPRODUCING_IP=
BLOCKPRODUCING_PORT=6000

=========

and if u will want to also add ur relay u need to add here:

RELAY_IP:RELAY_PORT

curl -s -o NODE_HOME/{NODE_CONFIG}-topology.json “https://api.clio.one/htopology/v1/fetch/?max=20&customPeers=${BLOCKPRODUCING_IP}:${BLOCKPRODUCING_PORT}:2|RELAY_IP:RELAY_PORT|relays-new.cardano-mainnet.iohk.io:3001:2
EOF

Oh, thank you so much.

1 Like

Hi Alexd1985,

May I ask two questions:

  1. Should topologyUpdater.sh be configured to run on both (all) relay nodes?

  2. If topoligyUpdater.sh was configured on relay1, but it was not originally setup to communicate with relay2, can I add in the IP Address entry to relay2 afterwards manually, without breaking anything on relay1?

Thanks for your help!

  • Should topologyUpdater.sh be configured to run on both (all) relay nodes?

Yes, the topology updater script must run on all relays

  • If topoligyUpdater.sh was configured on relay1, but it was not originally setup to communicate with relay2, can I add in the IP Address entry to relay2 afterwards manually, without breaking anything on relay1?

It’s not a must that the relays must be connected between them
The relays must be connected with the producer

2 Likes