2nd relay couldn't connect to block producer

Hello guys,

Just recently converted one of my block producer node as my 2nd relay. Everything was setup like how it is like my 1st relay, but somehow my 2nd relay would not add the block producer ip into topology.json even after I restart the node. Any idea why? I’ve also ran the ./deploy system sh before this but no luck.

Here’s my observation:

  1. telnet between block producer and my 2nd relay is working fine
  2. ./gLiveView in my block producer shows that it is connected to my 2nd relay
  3. This is the output below for topology.json in my 2nd relay

/opt/cardano/cnode/files$ cat topology.json
{ “resultcode”: “402”, “datetime”:“2021-03-24 06:01:17”, “clientIp”: “x.x.x.x”, “iptype”: 4, “msg”: “IP is not (yet) allowed to fetch this list”, “Producers”: [ { “addr”: “relays-new.cardano-mainnet.iohk.io”, “port”: 3001, “valency”: 2, “debug”:“default fallback result” } ] }

Should I manually edit the topology and include my block ip producer there? I have already one adding the block ip into topologyUpdater.sh. Please advise


define your block producer as a custom peer in your topologyUpdater.sh script:

#CUSTOM_PEERS="None"        # Additional custom peers to (IP:port[:valency]) to add to your target topology.json
                            # eg: "||relays.mydomain.com:3003:3"

with that, the topologyUpdater will include the block producer address

hi Laplasz,

As I’ve mentioned earlier, I’ve done so already, but the problem still remain the same.


probably a typo or something - could just test the setup by just adding the example addresses to CUSTOM_PEERS? like


What happens in this case?

Thanks, but I’ve managed to add it by manually edit the /opt/cardano/cnode/files/topology.json, added my block producer ip and iohok relay.

However, it is supposed to connect to 10 or more peers, but now it is showing 2-3, I guess there is a time frame to wait before the relay is accepted into public net

Ok - it is new info for me, that topologyUpdater can leave manually added address in the file during an update - so it is a nice feature…
yes, there is a time frame - after 3 successful execution of the tologogyUpdater, I think

according to the deploy script, it says 4 executions ( 3 hours ), I waited 4-5 hours before I open this thread, but it didn’t work. Since that I’ve manually added in the topology.json, I guess I have to wait for another 3 hours to see if it work this time.

TopologyUpdater first checks from what IP your are trying to fetch the list. So only the IP address is the question to able to update the topology file, and not how many times you edited the topology.json file.

So are you getting this error still?

After i’ve manually edited the topology by adding the default iohk relay and my own producer block ip, I no longer receive the message. Now it’s the matter of waiting for it to automatically adding the other peers.

and what is in the topologyUpdater_lastresult.json file, you will get current info about the update attempt

I can’t seem to find the file name topologyUpdater_lastresult.json

topologyUpdater.sh relies on env file where you can set environment veriables for the script like LOG_DIR
that is the node logs folder - do you have that folder?

unfortunately no, I couldn’t find it in the logs folder for my 2nd relay, but it does exist for my first one though, thanks for pointing out that there should be some sort of logs in here

No problem - just run topologyUpdater.sh manually and will get the logs on the console…

ok, so I just found out that I made a typo in the topology updater file, there was an extra “.” in the ip and I can’t believe I missed that despite I’ve check the script for more than 5 times. Sorry for wasting your time, everything works fine now, my 2nd relay is now able to connect to multiple other relays.

:slight_smile: please consider mark one of the answer as solution to indicate others that no need more attention here