Is it possible to operate a pool with dynamic IP?

for stake pool registration you have to provide a public IP address of you relay node.
pool-relay-ipv4 - relay node ip address

I have a public IP - but that is a dynamic IP - it is changed by the ISP every week. Is it possible to use domain instead of IP address?

Im pretty sure that you need a static one, maybe you could try to use ddns.

dynamic DNS? yes I would use it, but that would mean a domain name could be added during registration - the question is - is it possible?

Im not really sure. I guess you have to wait for someone with a bigger technical knowledge than me :sweat_smile:

1 Like

You can register your pools relay on chain as hostname and portnumber. So what you need in case your IP changes is a quick way to dynamically update the DNS A-record for this hostname to the new IP.

The next challenge is to also end up in other relay node’s peer list.
First the background: the implemented block and TX propagation protocol is made in a way that the receiver ask the sender for certain data. It’s not the sender who can blow out as much as he can, demanding ressources for all receivers to validate the incoming data.

Said this I haven’t tried it yet, but I would try to publish a hostname to other peers, with a relative low TTL, eg 2-5 minutes.
What needs to be tested is if the implemented cardano-node does consider this relative low DNS based TTL, and do a fresh DNS A IP lookup


ok - so although the param name is pool-relay-ipv4 can I give host name as a value instead of a IPv4 address?

Some IPSs will provide a static IP for a fee.

1 Like

As @RobJF was saying you can either ask your ISP for a static IP or as an alternative you can use a VPN service albeit at a fee or subscription @laplasz.

There is a 3rd option and that is to change your ISP to one that provides public static IP addressing.

Yes, you can supply a DNS name during stakepool registration.
However, you are already stating that the public ip address changes every week.
This will make your stakepool unreachable for some time after a public ip address renewal and a dynamic DNS update because of DNS caching that takes place at other nodes within mainnet.
So dynamic DNS is not preferred.

1 Like

If i am not mistaken:

Currently, static IP-addresses are set in three places:

  • Relay node init parameters (–host.addr)
  • Core (BP) node init parameters (–host.addr)
  • Cardano stake-pool registration-certificate (–pool-relay-ipv4)

As updating the registration-certificate requires the cold keys, this is harder (unless you leave your cold keys on an node :exploding_head:) to update in a timely manner (automated).
How critical is it if the nodes are updated first and the certificate later?
Will the node be able to produce blocks?

You can use DNS instead of an ip address. Then you only need to register it once.
You don’t have to start the node with an ip address, because it is optional.
It will just listen on all ip’s that it has then.

1 Like

I’m reading opposite answers to this question.

I’ve created a staking node on testnet, and I haven’t managed to set a hostname instead of an IP address. Can someone confirm that only IP addresses are accepted or how to set a dns name instead? Thanks

Right, I think I’m answering my own question, I think the correct option is:


instead of