Realy node not present in topology file

Hello all,
on testnet I’m running a pool composited by one producer node and one relay node.
These are the producer peers statistics:


These are the relay peer statistics:


As you can see I have only 1 “peer In” ( my producer ) and my relay is not present on

the last 3 events from are:

{ “resultcode”: “201”, “datetime”:“2021-10-12 10:33:10”, “clientIp”: “”, “iptype”: 4, “msg”: “nice to meet you” }
{ “resultcode”: “201”, “datetime”:“2021-10-12 11:33:11”, “clientIp”: “”, “iptype”: 4, “msg”: “nice to meet you” }
{ “resultcode”: “201”, “datetime”:“2021-10-12 12:33:05”, “clientIp”: “”, “iptype”: 4, “msg”: “nice to meet you” }

The public ip/port is working as expected. Did I fail something?
Can you help me to locate the issue?

Thank you all

For both topology-updater scripts (pull and push), please make sure to include the magic query parameter for the testnet:


If you are already including this let us know or paste the scripts so we can take a look.

Hello and thank you for your reply!
I don’t know what happened but now I have 2 more “Peers in”:


But my relay is still not present in

Those are the scripts:

### On relaynode1
# shellcheck disable=SC2086,SC2034

CNODE_PORT=6000 # must match your relay node port as set in the startup command
CNODE_HOSTNAME="CHANGE ME"  # optional. must resolve to the IP you are requesting from
NETWORKID=$(jq -r .networkId $GENESIS_JSON)
CNODE_VALENCY=1   # optional for multi-IP hostnames
NWMAGIC=$(jq -r .networkMagic < $GENESIS_JSON)
[[ "${NETWORKID}" = "Mainnet" ]] && HASH_IDENTIFIER="--mainnet" || HASH_IDENTIFIER="--testnet-magic ${NWMAGIC}"
[[ "${NWMAGIC}" = "764824073" ]] && NETWORK_IDENTIFIER="--mainnet" || NETWORK_IDENTIFIER="--testnet-magic ${NWMAGIC}"

export PATH="${CNODE_BIN}:${PATH}"
export CARDANO_NODE_SOCKET_PATH="${CNODE_HOME}/db/node.socket"

blockNo=$(/usr/local/bin/cardano-cli query tip --testnet-magic 1097911063 | /usr/bin/jq -r .block )

# 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 ...)
if [ "${CNODE_HOSTNAME}" != "CHANGE ME" ]; then

if [ ! -d ${CNODE_LOG_DIR} ]; then
  mkdir -p ${CNODE_LOG_DIR};

/usr/bin/curl -4 -s "${CNODE_PORT}&blockNo=${blockNo}&valency=${CNODE_VALENCY}&magic=${NWMAGIC}${T_HOSTNAME}" | /usr/bin/tee -a $CNODE_LOG_DIR/topologyUpdater_lastresult.json

curl -4 -s -o /home/alessio/cardano-my-node/testnet-topology.json "${BLOCKPRODUCING_IP}:${BLOCKPRODUCING_PORT}:1|"

Let me know please if you something wrong
Thank you again

It needs some time after other pools update their topology and get your relay address. On testnet maybe even longer than on mainnet.

I’m not sure how often refresh their cache.

Please also check on:

I’m checking again the stats of my relay, actually I have 9 “peers in” ( 1 is my BP ).
But my relay is still missing from

In this condition I think the blockchain does not know about my BP. Am I correct or wrong? I fear that going in mainnet I will have the same issue and I will not able to mint blocks. Please help me to understand!!

Thank you

Wrong… the fact that the relay is missing from the topology file (perhaps it needs more time) will not affect the operation of the Producer … as long u have IN peers and u are processing transactions

1 Like

Alex is correct. It’s more of a question of how often update their data. What is the ticker of your test pool?

The ticker is “MPN”. The pool name is “ITA83”
Thank you all for your time guys!!

Looks all good. What’s the registered url of the testnet relay?

Is really all good? Because from daedalus testnet I staked 200 Ada on my pool and from io I see 0 delegators.
By the way, I think I understood your question, I try to reply: BP talks with the relay via local network:

( from BP )

$ cat testnet-topology.json
  "Producers": [
      "addr": "",
      "port": 6000,
      "valency": 1

My relay public ip is, testnet-topology.json from the relay node has the following lines:

$ cat testnet-topology.json
{ "resultcode": "201", "networkMagic": "1097911063", "ipType":4, "requestedIpVersion":"4", "Producers": [
  { "addr": "", "port": 6000, "valency": 1 } ,
  { "addr": "", "port": 3001, "valency": 2 } ,
  { "addr": "", "port": 54329, "valency": 1, "distance":741,  "continent":"EU",  "country":"AT",  "region":"4" },
  { "addr": "", "port": 6000, "valency": 1, "distance":857,  "continent":"EU",  "country":"FI",  "region":"BY" },
  { "addr": "", "port": 4002, "valency": 1, "distance":966,  "continent":"EU",  "country":"DE",  "region":"HE" },
  { "addr": "", "port": 6000, "valency": 1, "distance":1130,  "continent":"EU",  "country":"DE",  "region":"NW" },
  { "addr": "", "port": 6000, "valency": 1, "distance":1294,  "continent":"EU",  "country":"NL",  "region":"NH" },
  { "addr": "", "port": 6000, "valency": 1, "distance":1317,  "continent":"EU",  "country":"DE",  "region":"HH" },
  { "addr": "", "port": 3001, "valency": 1, "distance":1427,  "continent":"EU",  "country":"GB",  "region":"ENG" },
  { "addr": "", "port": 7004, "valency": 1, "distance":1433,  "continent":"EU",  "country":"GB",  "region":"ENG" },
  { "addr": "", "port": 6001, "valency": 1, "distance":1719,  "continent":"EU",  "country":"LT",  "region":"VL" },
  { "addr": "", "port": 6001, "valency": 1, "distance":2393,  "continent":"AS",  "country":"RU",  "region":"MOW" },
  { "addr": "", "port": 6012, "valency": 1, "distance":6966,  "continent":"NA",  "country":"US",  "region":"NY" },
  { "addr": "", "port": 6001, "valency": 1, "distance":7160,  "continent":"NA",  "country":"US",  "region":"MD" },
  { "addr": "", "port": 6000, "valency": 1, "distance":7543,  "continent":"NA",  "country":"US",  "region":"OH" },
  { "addr": "", "port": 6000, "valency": 1, "distance":8063,  "continent":"NA",  "country":"US",  "region":"GA" },
  { "addr": "", "port": 6007, "valency": 1, "distance":8311,  "continent":"NA",  "country":"US",  "region":"FL" },
  { "addr": "", "port": 6006, "valency": 1, "distance":8311,  "continent":"NA",  "country":"US",  "region":"FL" },
  { "addr": "", "port": 6000, "valency": 1, "distance":9249,  "continent":"NA",  "country":"US",  "region":"OR" },
  { "addr": "", "port": 5001, "valency": 1, "distance":9779,  "continent":"NA",  "country":"CR",  "region":"SJ" },
  { "addr": "", "port": 6000, "valency": 1, "distance":10058,  "continent":"NA",  "country":"NL",  "region":"CA" },
  { "addr": "", "port": 6008, "valency": 1, "distance":16308,  "continent":"OC",  "country":"AU",  "region":"NSW" }
] }

Please, let me know if I wrote the wrong informations about your question.
Thank you for your patience


What is the pool metadata url that you registered, maybe some problems with reading the metadata? Please paste it here or see if it points to the json file containing the metadata.

But as Daedalus shows the pool, and other sites show it, I guess the metadata file is fine.

Also when did the delegation happen, how many days ago? Did you also made some changes to the pool like owner update etc… ?

1 Like

this is the command I ran for the pool registration:

cardano-cli stake-pool registration-certificate \
--cold-verification-key-file /home/alessio/cardano-my-node/offline/cold-keys/node.vkey \
--vrf-verification-key-file /home/alessio/keys/vrf/vrf.vkey \
--pool-pledge 200000000 \
--pool-cost 340000000 \
--pool-margin 0.02 \
--pool-reward-account-verification-key-file /home/alessio/keys/stake/stake.vkey \
--pool-owner-stake-verification-key-file /home/alessio/keys/stake/stake.vkey \
--testnet-magic 1097911063 \
--pool-relay-ipv4 \
--pool-relay-port 6000 \
--metadata-url \
--metadata-hash f089a51b7087f895624a0f50beb8747c31977c0241ca298becd59f1c74992e76 \
--out-file pool.cert

I think is working good

About the delegation, it happened 06/10/2021:


This is the current state from Daedalus:

Yeah, in a second time I updated the %fee because I wrote a bad number inside the JSON. For Example, Daedalus now shows 2% fee, still shows 20% ( the old value )


I could think that needs more time to refresh the details, ok, but I still don’t understand why my relay is missing from the public json.

Sorry for bothering, before to go in mainnet I want to be sure everything I did in testnet was right :slight_smile:


It takes 2 epochs for the pool changes to be applied. I’m a bit puzzled why the pool stake is 0.

1 Like

You could query the stake snapshot:
cardano-cli query stake-snapshot --stake-pool-id POOL_ID --testnet-magic 1097911063

go is 2 epochs ago, set is 1 epoch ago, mark is before current epoch.

This is what I got. What do you think abou it?

[alessio@producer ~]$ cardano-cli query stake-snapshot --stake-pool-id 15c0017f15b7be181148a8eed569c202840a47ddf5df61c905132a9f --testnet-magic 1097911063
    "poolStakeGo": 494898886,
    "activeStakeGo": 14411727227593438,
    "poolStakeMark": 494898886,
    "activeStakeMark": 14559757961005557,
    "poolStakeSet": 494898886,
    "activeStakeSet": 14398602835312565

You have 494.8ADA staked. Is that what you expect? …as pooltool is showing 0 which puzzled me

494 could be:

200 pledge +
284 from daedalous

Is correct assuming pledged ada are in staking?
by the way my memory is missing 10 ADA :slight_smile:

Yes it is counting to the total stake. You can look up the addresses balances or the transactions, there shouldn’t be anything missing.