topologyUpdater is it working on TESTNET? How much time takes to be added to the list..?

Hi guys, I am trying to set my topology through the topologyUpdater script (I am on TESTNET)… I run the script every hour and get the message back… but when I try to fetch the topology file after 5+ hours I get the message: “IP is not (yet) allowed to fetch this list”… don’t know why… is it possible that it takes more than one day of running the script to be added to the list…?


{ "resultcode": "201", "datetime":"2021-07-08 00:41:13", "clientIp": "xx.xx.xx.xx", "iptype": 4, "msg": "nice to meet you" }
{ "resultcode": "204", "datetime":"2021-07-08 04:32:15", "clientIp": "xx.xx.xx.xx", "iptype": 4, "msg": "glad you're staying with us" }
{ "resultcode": "204", "datetime":"2021-07-08 05:45:11", "clientIp": "xx.xx.xx.xx", "iptype": 4, "msg": "glad you're staying with us" }
{ "resultcode": "204", "datetime":"2021-07-08 06:47:03", "clientIp": "xx.xx.xx.xx", "iptype": 4, "msg": "glad you're staying with us" }
{ "resultcode": "204", "datetime":"2021-07-08 07:47:03", "clientIp": "xx.xx.xx.xx", "iptype": 4, "msg": "glad you're staying with us" }
{ "resultcode": "204", "datetime":"2021-07-08 08:47:03", "clientIp": "xx.xx.xx.xx", "iptype": 4, "msg": "glad you're staying with us" }

If I try to fetch the topology file/list I get:

{ "resultcode": "402", "datetime":"2021-07-08 08:57:04", "clientIp": "xx.xx.xx.xx", "iptype": 4, "msg": "IP is not (yet) allowed to fetch this list",  "Producers": [   { "addr": "BP-node-ip", "port": xxxx, "valency": 1 } ,
  { "addr": "relays-new.cardano-testnet.iohkdev.io", "port": 3001, "valency": 2 } ,
  { "addr": "buddy-relay-ip", "port": xxxxx, "valency": 1 } , { "addr": "relays-new.cardano-mainnet.iohk.io", "port": 3001, "valency": 2 } ]  }

(that list is my customPeers I added, although the last one is added in the response and not from me… is weird because is iohk relays but mainnet…)

you will need to use the NWMAGIC for testnet… .

also the servers are synced? if not they will not connect to each other

Yes I found the issue 2 min after creating this post… the NWMAGIC was in the first curl but was missing in the fetch one… now it works!! Already have my producers added and restarted the node… a question: do I have to continuously ping/curl the endpoing every hour to be always added to the list…? or now that I am added… the service will automatically check that I am “available” for other peers?? And I only need to hit the “fetch endpoint” when I need to update again my own topology file…

The topologyUpdater shell script must be executed on the relay node exactly every 60 minutes . After 4 consecutive requests (3 hours) the node is considered a new relay node in listed in the topology file. If the node is turned off, it’s automatically delisted after 3 hours.

!> Note: You should NOT set up topologyUpdater for your block producing nodes.

And I only need to hit the “fetch endpoint” when I need to update again my own topology file…

Exactly, before to restart the node which is recommanded once/24 hours… but it’s not a must

Cool, so If I understood correctly, the only thing I need to do from now on is fetch a new topology/producers-list every 24hours more or less… but nothing else…

They automatically ping me to see that I am online etc… I don’t have to ping them…right?

right :slight_smile: all u have to check is the topology updater script… and to monitor the IN peers, without IN peers you will not process TX

Hey there
I’m successfully using topologyUpdater.sh on mainnet on my primary relay node. Now I’ve set up a second relay somewhere else, which is reachable from outside by its port Y:
telnet xxx.xxx.xxx.xxx Y
But it does not get listed in the file https://explorer.mainnet.cardano.org/relays/topology.json even though topology updater gives the correct answer (like on my primary relay) every hour (since >10 hours):
{ “resultcode”: “204”, “datetime”:“2021-09-01 05:15:00”, “clientIp”: “xxx.xxx.xxx.xxx”, “iptype”: 4, “msg”: “glad you’re staying with us” }

The only difference to my primary relay which is working, is: I wanted to make my secondary relay a “private” relay such that no one knows its actually a relay of my pool. Does that work? So I did not list the secondary relay in the registration certificate of the block producer. Can that work?
Thanks!

Of course it’s a good idea

Suddenly today morning, 16 hours after getting the first “glad you’re staying with us” message hourly from topologyUpdater script, I started getting “Processed TX” > 0 (average 40 per min). But my IP (and also checked reverse DNS) of my relay node is still missing from https://explorer.mainnet.cardano.org/relays/topology.json.

Also gLiveView.sh shows “Total / Undetermined : 4 / 3” under “Incoming peer” which seems a bit funky… Shouldnt there be total of 10 and less undetermined? Like on my main relay node, which works properly (on V. 1.27.0, compared to my new “private” relay node which runs on 1.29.0)

Is it possible this node was listed in topology.json for a very short time but is again unlisted, even though I keep getting “glad you’re staying with us” exactly every hour?

Have patience, anyway it’s not an issue if your IP isn’t present on main topology right now