Moving the physical nodes an keep the pool operative

I will have to move the physical nodes on which I’m setting up my stake pool, so the IP addresses of my nodes will change.

now, sending the transaction for registering the pool also takes the IP address of the relay node; and updating the registration takes 2 epochs to be applied to my understanding.

does this mean that for 2 epochs my pool won’t be able to do anything?

If that’s the case is there a way to know my future Ip address before moving physically the nodes? (I suppose no but would be great if it was possible so that I could resend the registration 2 epochs before moving)

I thought of adding a cloud relay, but I would like to keep my pool fully decentralized.

Thank you for any help.

It will not take 2 epochs… it will take 3 hours (4 topologyupdater run) then the node will be declared online and other nodes will start to connect you (can take up to 12 hours because the nodes must be restarted in order to connect you)… or if u have a pool operator friend u can ask to add your new relay IP as static and this way u will not need to wait 3 hours


1 Like

so I don’t need to re-create a pool certificate like so

cardano-cli stake-pool registration-certificate \
    --cold-verification-key-file node.vkey \
    --vrf-verification-key-file vrf.vkey \
    --pool-pledge <pledge> \
    --pool-cost 340000000 \
    --pool-margin <margin> \
    --pool-reward-account-verification-key-file stake.vkey \
    --pool-owner-stake-verification-key-file stake.vkey \
    --mainnet \
    --pool-relay-port 6000 \
    --pool-relay-ipv4 <the new IPv4 address of the relay> \
    --metadata-url <git.....> \
    --metadata-hash $(cat poolMetaDataHash.txt) \
    --out-file pool.cert

in order to update the relay IP address?


How about, assign DNS to old IPs. Re-create certificate, then bring up new relays and change DNS record to point to new relays IPs and when you will see incoming connections to new relays, update you BP to connect to newly created DNS and you can switch off old relays. In this case there will be no downtime or close to 0 downtime. Additionally next time you will need to do something like this, it will be much easier with DNS records.

You need to re-create certificate if you updating your IPs.

U will register again the new relay IP but this will not affect the node

so I will create the new certificate but in the 2 epochs later the Block Producer is still valid, just need to update the topology?

if that’s the case, just for curiosity, what’s the purpose of specifying the relay’s IP address in the pool certificate?

if I’ve understood you are suggesting to register the current Ip under a DNS, then when I moved the machine let the DNS point to the new Ip so that the certificate is still valid since the DNS is not changed but the IP is immediately update

if that’s the case could you kindly provide some documentation on how to assign a DNS to my IP?

I really appreciate your help thank you :smiley:

Your block producer is not using pool.cert, what is created by that command. You need to submit pool.cert with deleg.cert to network, so cardano network will know that you have new IPs for relays.


If you are using AWS Route53, here is manual after quick google:

In any case I would recommend you to spend some time on studying networking, maybe find some course on udemy or coursera, or maybe google will just be fine for you.

1 Like

If u don’t have at least one relay up and running on then the pool will not be visible on yoroi… I don’t know how it is with daedalus

As a general rule, you shouldn’t register your pool’s relays with IP addresses directly. You can get a domain name (buy one or obtain one for for free with dynamic DNS services like for your relays, then change the IP addresses as often as you want without having to re-register your pool.