Dynamic DNS setup

Hi all,

This is probably a silly question but I had a question about setting up a ddns service for nodes. The reason I’m thinking of setting it up is in order to make it easier to migrate nodes in the future if I decide to change vps providers or if I decide to change my block producer to a barebone pc.

Is it possible to set up your producer and relays with a ddns address and does it make it easier to migrate (especially your producer node) without needing to update or resubmit your registration certificate. What is the best way to set up your nodes with the ddns (for example: one ddns addres for all the relays + producer, or a one ddns address for the producer and another ddns address for all the relays).

Lastly, what ddns service do you all recommend. There seems to be a fair amount of free ones but I dont mind paying if it means increased security.

Thanks again in advance.

I am currently doing the Dynamic DNS setup and i think that is the way to go for any residential operation.
I am using Dyndns and with one hostname you can port forward to multiple relay nodes with different ports.
–pool-relay-port 6000
–single-host-pool-relay xxxxxx.dyndns.org
–pool-relay-port 6001
–single-host-pool-relay xxxxxxx.dyndns.org \

if you are running 1.26.1 , i have not able to resubmit my pool.cert . i am not sure if it is a known issue with 1.26.1 version and coincashew guide or it is my node only.

Could you provide details on the pool.cert issue?

This command is failing with error saying when decoding the params.json , key “DECENTRALIZATION” not found.

(note that after i upgraded to 1.26.1 - all my nodes were online and connected as expected)

fee=(cardano-cli transaction calculate-min-fee \ --tx-body-file tx.tmp \ --tx-in-count {txcnt}
–tx-out-count 1
–witness-count 3
–byron-witness-count 0
–protocol-params-file params.json | awk ‘{ print $1 }’)
echo fee: $feeI

What about your producer node? Are you using the same hostname as your relays with a different port? Again, probably a stupid question but if you were to change (ex move vps or locations with new IP) is it possible just to update your ddns without needing to resubmit your poolcert (assuming no other changes)?

You don’t list your produce node, only your relay nodes.
You have to resubmit the pool.cert anytime you make a change IP, pledge, margin, HW wallet …

Could you share the content of your param.json file?
I just generated it by cardano-cli query protocol-parameters --mainnet >params.json
and the parameter is present, however in small letters
“txFeePerByte”: 44,
“minUTxOValue”: 1000000,
“stakePoolDeposit”: 500000000,
"decentralization": 0,
“poolRetireMaxEpoch”: 18,
“extraPraosEntropy”: null,
“stakePoolTargetNum”: 500,
“maxBlockBodySize”: 65536,
“maxTxSize”: 16384,
“treasuryCut”: 0.2,
“minPoolCost”: 340000000,
“maxBlockHeaderSize”: 1100,
“protocolVersion”: {
“minor”: 0,
“major”: 4
“txFeeFixed”: 155381,
“stakeAddressDeposit”: 2000000,
“monetaryExpansion”: 3.0e-3,
“poolPledgeInfluence”: 0.3

I do have the file already in my home node and it matches exactly what you have shared. Also, I was able to regenerate the same file again.

The issue is resolved now. All I did is deleted the file, regenerate it again, restart node and tried again, it worked.

Just want to assure that community that I had this same problem - and was able to fix it while regenerating the protocol.json file — the file changed a bit with the update - and this did the trick:

cardano-cli query protocol-parameters \

–out-file protocol.json

1 Like