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:

immagine

These are the relay peer statistics:

immagine

As you can see I have only 1 “peer In” ( my producer ) and my relay is not present on https://explorer.cardano-testnet.iohkdev.io/relays/topology.json

the last 3 events from topologyupdater.sh are:

{ “resultcode”: “201”, “datetime”:“2021-10-12 10:33:10”, “clientIp”: “93.42.90.87”, “iptype”: 4, “msg”: “nice to meet you” }
{ “resultcode”: “201”, “datetime”:“2021-10-12 11:33:11”, “clientIp”: “93.42.90.87”, “iptype”: 4, “msg”: “nice to meet you” }
{ “resultcode”: “201”, “datetime”:“2021-10-12 12:33:05”, “clientIp”: “93.42.90.87”, “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:

Example:
ie https://api.clio.one/htopology/v1/?port=...&magic=1097911063

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”:

immagine

But my relay is still not present in https://explorer.cardano-testnet.iohkdev.io/relays/topology.json

Those are the scripts:
topologyUpdater.sh

###
### On relaynode1
###
#!/bin/bash
# shellcheck disable=SC2086,SC2034

USERNAME=alessio
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
CNODE_BIN="/usr/local/bin"
CNODE_HOME="/home/alessio/cardano-my-node"
CNODE_LOG_DIR="${CNODE_HOME}/logs"
GENESIS_JSON="${CNODE_HOME}/testnet-shelley-genesis.json"
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
  T_HOSTNAME="&hostname=${CNODE_HOSTNAME}"
else
  T_HOSTNAME=''
fi

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

/usr/bin/curl -4 -s "https://api.clio.one/htopology/v1/?port=${CNODE_PORT}&blockNo=${blockNo}&valency=${CNODE_VALENCY}&magic=${NWMAGIC}${T_HOSTNAME}" | /usr/bin/tee -a $CNODE_LOG_DIR/topologyUpdater_lastresult.json

relay-topology_pull.sh

#!/bin/bash
BLOCKPRODUCING_IP=192.168.1.160
BLOCKPRODUCING_PORT=6000
curl -4 -s -o /home/alessio/cardano-my-node/testnet-topology.json "https://api.clio.one/htopology/v1/fetch/?max=20&magic=1097911063&customPeers=${BLOCKPRODUCING_IP}:${BLOCKPRODUCING_PORT}:1|relays-new.cardano-testnet.iohkdev.io:3001:2"

Let me know please if you something wrong
Thank you again
Regards

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 https://explorer.cardano-testnet.iohkdev.io/relays/topology.json refresh their cache.

Please also check on:

Hello,
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 https://explorer.cardano-testnet.iohkdev.io/relays/topology.json

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
Regards

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 https://explorer.cardano-testnet.iohkdev.io 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 pooltool.io io I see 0 delegators.
By the way, I think I understood your question, I try to reply: BP talks with the relay via 192.168.1.0/24 local network:

( from BP )

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

My relay public ip is 93.42.90.87, 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": "192.168.1.160", "port": 6000, "valency": 1 } ,
  { "addr": "relays-new.cardano-testnet.iohkdev.io", "port": 3001, "valency": 2 } ,
  { "addr": "185.164.6.221", "port": 54329, "valency": 1, "distance":741,  "continent":"EU",  "country":"AT",  "region":"4" },
  { "addr": "65.21.212.98", "port": 6000, "valency": 1, "distance":857,  "continent":"EU",  "country":"FI",  "region":"BY" },
  { "addr": "95.179.251.49", "port": 4002, "valency": 1, "distance":966,  "continent":"EU",  "country":"DE",  "region":"HE" },
  { "addr": "75.119.137.218", "port": 6000, "valency": 1, "distance":1130,  "continent":"EU",  "country":"DE",  "region":"NW" },
  { "addr": "77.171.136.181", "port": 6000, "valency": 1, "distance":1294,  "continent":"EU",  "country":"NL",  "region":"NH" },
  { "addr": "194.163.139.28", "port": 6000, "valency": 1, "distance":1317,  "continent":"EU",  "country":"DE",  "region":"HH" },
  { "addr": "51.104.251.142", "port": 3001, "valency": 1, "distance":1427,  "continent":"EU",  "country":"GB",  "region":"ENG" },
  { "addr": "testnet.ada.vegas", "port": 7004, "valency": 1, "distance":1433,  "continent":"EU",  "country":"GB",  "region":"ENG" },
  { "addr": "lucid-rl-0.rizome.io", "port": 6001, "valency": 1, "distance":1719,  "continent":"EU",  "country":"LT",  "region":"VL" },
  { "addr": "relaynode1.rikishi.info", "port": 6001, "valency": 1, "distance":2393,  "continent":"AS",  "country":"RU",  "region":"MOW" },
  { "addr": "45.46.196.228", "port": 6012, "valency": 1, "distance":6966,  "continent":"NA",  "country":"US",  "region":"NY" },
  { "addr": "71.244.164.205", "port": 6001, "valency": 1, "distance":7160,  "continent":"NA",  "country":"US",  "region":"MD" },
  { "addr": "18.221.12.208", "port": 6000, "valency": 1, "distance":7543,  "continent":"NA",  "country":"US",  "region":"OH" },
  { "addr": "testnet.r1-mopl.monedacloud.io", "port": 6000, "valency": 1, "distance":8063,  "continent":"NA",  "country":"US",  "region":"GA" },
  { "addr": "12.105.221.218", "port": 6007, "valency": 1, "distance":8311,  "continent":"NA",  "country":"US",  "region":"FL" },
  { "addr": "12.105.221.218", "port": 6006, "valency": 1, "distance":8311,  "continent":"NA",  "country":"US",  "region":"FL" },
  { "addr": "35.247.18.22", "port": 6000, "valency": 1, "distance":9249,  "continent":"NA",  "country":"US",  "region":"OR" },
  { "addr": "186.32.161.134", "port": 5001, "valency": 1, "distance":9779,  "continent":"NA",  "country":"CR",  "region":"SJ" },
  { "addr": "134.122.51.5", "port": 6000, "valency": 1, "distance":10058,  "continent":"NA",  "country":"NL",  "region":"CA" },
  { "addr": "14.201.4.90", "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
Regards

Alessio

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

Hello,
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 93.42.90.87 \
--pool-relay-port 6000 \
--metadata-url https://git.io/JwG3k \
--metadata-hash f089a51b7087f895624a0f50beb8747c31977c0241ca298becd59f1c74992e76 \
--out-file pool.cert

I think https://git.io/JwG3k is working good

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

immagine

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, pooltool.io still shows 20% ( the old value )

immagine

I could think that pooltest.io 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:

Regards
Alessio

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.