Transition from testnet to mainnet

Stupid me, I was using the wrong config files. Good suggestion deleting the testnet files when running mainnet. I wiped out the dbs, fixed the configuration and restarted, will see what happens next.

Yeah, that’s why I meant that it’s best to start a clean install when going for mainnet. You may forget to disable or update something that you might have enabled during testing… firewalls, crons, config, permissions, etc…

Well this conversation has been quite helpful and I really appreciate your input @mcrio . I think I am nearly there. My topologyUpdater.sh file is running every hour and I am getting 204 “glad you’re staying with us” messages, 4 hours in a row. But looking back before those 4 hours I saw a 403 "glad you want to stay with us, but please check and enable your IP:port reachability.

When I run the relay-topology_pull.sh script I get back the following topology file:
{ “resultcode”: “402”, “datetime”:“2021-11-30 03:02:00”, “clientIp”: “2600:3c01::f03c:92ff:fe3a:98a8”, “iptype”: 6, “msg”: “IP is not (yet) allowed to fetch this list”, “Producers”: [ { “addr”: “45.56.84.215”, “port”: 6000, “valency”: 1 } ,
{ “addr”: “relays-new.cardano-mainnet.iohk.io”, “port”: 3001, “valency”: 2 } , { “addr”: “relays-new.cardano-mainnet.iohk.io”, “port”: 3001, “valency”: 2 } ] }

Which is not the file I started with, and furthermore it does not show my block node as a producer.

The topology pull script will overwrite the topology file. You have two options:

  1. Specify the block producer IP and port like in the instructions:
#!/bin/bash
BLOCKPRODUCING_IP=<BLOCK PRODUCERS IP ADDRESS>
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}:1|relays-new.cardano-mainnet.iohk.io:3001:2"

That means that the result you get back will include your producer entry.

  • Good: No further editing to topology file needed
  • Bad: You are sharing your producer IP with a third-party service
  1. After pulling the topology you add your block producer entry manually:
  • Good: You are not sharing block producer IP
  • Bad: Requires a manual step

I can just assume that it may be an issue with the IPv6 vs IPv4 and how the 3rd party service checks if pool already sent heartbeats.

Try announcing the IPv4 address only, and see if it’ll work. See docs:

# Note:
# if you run your node in IPv4/IPv6 dual stack network configuration and want announced the
# IPv4 address only please add the -4 parameter to the curl command below  (curl -4 -s ...)

(you add the -4 flag to the topologyUpdater scripts curl call.