Registering stake pool with multiple relay nodes

I am trying to setup a Cardano Node for a stake pool for the first time. I am reviewing the process for creating the registration certificate but it only gives instructions for how to do this with a single relay node. Since running multiple RN’s is the recommended approach, I’m wondering how to modify this registration cert to show the multiple RN’s. Are you allowed to pass an array for --pool-relay-ipv4? I see a lot of pools with multiple relay nodes listed, so clearly people are doing this - I just need to know how.

2 Likes

Hello,

What guide are u following?

and to add more relays just add new relays info lines

Cheers,

1 Like

I’ve looked at several, but was primarily following the Cardano Node Documentation guide. I’m looking particularly at the section for registering a stake pool with metadata (8. Register a Stake Pool with Metadata — cardano-node Documentation 1.0.0 documentation). I’ve tried scouring the other guides as well but can’t seem to find any that suggestion how to do this.

Hmm - okay. I would have assumed each subsequent line would overwrite a previous line, but I’ll give that a shot. Thanks.

1 Like

Phoenix Pool also has an updated guide that you can use. Very easy to follow in the video.
https://www.youtube.com/watch?v=aEBMVB7qQC8&list=PL_aHbLi45_gT13jaFwUKNIFuC0SdmTRJd&index=3&t=2846s

1 Like

put multiple lines in your certificate file. change the addresses and ports below:

for DNS

--single-host-pool-relay relaynode1.myadapoolnamerocks.com\
--pool-relay-port 6000 \
--single-host-pool-relay relaynode2.myadapoolnamerocks.com\
--pool-relay-port 6000 \

for static IP

--pool-relay-port 6000 \
--pool-relay-ipv4 <your first relay node public IP address> \
--pool-relay-port 6000 \
--pool-relay-ipv4 <your second relay node public IP address> \
3 Likes

Hi,
I am also confused about the certificate file and registering the stake pool with multiple relay nodes. My situation seems to be a bit different than the one originally described in this post:
I have two relays that sit behind my static-IP modem which has a public address 81.234.xxx.123 .
I have set up port forwarding on the modem as follows:
81.234.xxx.123:3001 forwards to my relay 1 at 192.168.X.11
81.234.xxx.123:3002 forwards to my relay 2 at 192.168.X.12
My block-producing node sits on a separate local network accessing the relays through separate network cards.

It looks like in all examples I have seen so far of the certificate file, each relay is listed as a separate IP or DNS address entry, all with similar port (6000 for example). But in my set up it’s the opposite: Both relays are accessible at the same IP (my public IP) but at different ports.

How should I configure the certificate file?

--single-host-pool-relay www.myadapoolnetwork.com  \
--pool-relay-port 3001 \
--single-host-pool-relay www.myadapoolnetwork.com \
--pool-relay-port 3002 \

Is this correct, or am I missing something?

Thanks

Hello,

–single-host-pool-relay 1.1.1.1
–pool-relay-port 6000
–single-host-pool-relay 1.1.1.1
–pool-relay-port 6001

Cheers,

1 Like

what is single host pool relay mean? is there multiple host relay? if so what is the benefit of multiple host relay ?

from help:

  --multi-host-pool-relay STRING
                           The stake pool relay's DNS name that corresponds to
                           an SRV DNS record

I guess the relay should be registered with SRV record in a DNS provider. and it can be useful to manage your relays under one name… but I dont see real benefit in terms of node performance…

but probably a single host can resolve many IPs with Round-robin DNS - Wikipedia
just like IOHK doing with their relay:

$ nslookup relays-new.cardano-mainnet.iohk.io

Non-authoritative answer:
Name:   relays-new.cardano-mainnet.iohk.io
Address: 3.132.200.230
Name:   relays-new.cardano-mainnet.iohk.io
Address: 18.180.136.78
Name:   relays-new.cardano-mainnet.iohk.io
Address: 54.241.71.219
Name:   relays-new.cardano-mainnet.iohk.io
Address: 52.14.186.237
Name:   relays-new.cardano-mainnet.iohk.io
Address: 54.176.246.181
Name:   relays-new.cardano-mainnet.iohk.io
Address: 3.23.246.240
Name:   relays-new.cardano-mainnet.iohk.io
Address: 18.136.216.144
Name:   relays-new.cardano-mainnet.iohk.io
Address: 204.236.161.163

Hi,
I have created a new relay. Everything is working fine. Both relays have enough IN-OUT and also communication with the producer working as well. I will be really happy if can someone help me with the re-registration. I have created new pool.cert add added new Relay (second Relay). This File seems to be correct right?

What is the next Step. I follow CoinCashew Tutorial and the nextStep is

“Pledge stake to your stake pool.”

Do I really have to do it again now? The only change was only this new relay…

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.0 \
        --pool-reward-account-verification-key-file stake.vkey \
        --pool-owner-stake-verification-key-file stake.vkey \
        --mainnet \
        --single-host-pool-relay r1.gd.life \
        --pool-relay-port 6000 \
        --single-host-pool-relay r2.gd.life \
        --pool-relay-port 6000 \
        --metadata-url https://git.io/J3K2M \
        --metadata-hash $(cat poolMetaDataHash.txt) \
        --out-file pool.cert

And I can use any address to send the transaction, or do I have to use the same one as the first time? Thanks for help

Well, my recommandation is to keep one relay private (unregistered). The relay will work normally just it will not be visible (public) in main topology file and u will be safe in case of an attack

3 Likes

Ok thx for the Answer. Good Idea. Im thinking about deploy 3rd Relay in another Region (USA or ASIA). Or its take not soo big difference?

Not so big, anyway the relays will be connected with other nodes from different country or continent