Ultimately I ended up having to copy the updated script from Coin Cashew and reset the crontab, and now pool vet looks right-
The only issues that still plague my pool are a missing “in” peer on my producer and both nodes just show 0/0 in mempool TX.
As i mentioned above I ended up changing back to the coin cashew topologyUpdater.sh so for now the thread you mentioned won’t apply. Now everything looks good except for the “in” peer category, I feel like it must be a small setting somewhere.

Here is a copy of the most up to date version on coin cashew-
#!/bin/bash
shellcheck disable=SC2086,SC2034
USERNAME=$(whoami)
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=$NODE_HOME
CNODE_LOG_DIR=“${CNODE_HOME}/logs”
GENESIS_JSON=“${CNODE_HOME}/${NODE_CONFIG}-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}” = “1097911063” ]] && NETWORK_IDENTIFIER=“–mainnet” || NETWORK_IDENTIFIER=“–testnet-magic ${NWMAGIC}”
export PATH=“${CNODE_BIN}:${PATH}”
export CARDANO_NODE_SOCKET_PATH=“${CNODE_HOME}/db/socket”
blockNo=$(/usr/local/bin/cardano-cli query tip ${NETWORK_IDENTIFIER} | 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
curl -s “https://api.clio.one/htopology/v1/?port=\${CNODE_PORT}&blockNo=\${blockNo}&valency=\${CNODE_VALENCY}&magic=\${NWMAGIC}\${T_HOSTNAME}” | tee -a $CNODE_LOG_DIR/topologyUpdater_lastresult.json
You’ll need to have you node running for a few hours for it to show up in the topology.json file which will let other nodes find you when they update their own topology files.
1 Like
You can use the cntools version of topologyUpdater
Make a simple script
touch WrapperScript.sh
set executable chmod +x …
inside you set the required variables with export VARIABLENAME=value
export ANOTHERRVARIABLE=value2
fullpathtoyourcntoolsUpdater/topologyUpdater.sh
In your cron change the command from the updater to your Wrapper.
How to find out which variables you need to export? Start without any, let cron run the script and check for errors. Depending on your setup they’ll be in your email or logs. If I remember there are only 2 variables needed, the path to socket and path to the db.
1 Like
I finally have things up and running the way they should. I did some work with @Alexd1985 last night
here and he was able to help me determine the no “In” peers problem (port issues).
2 Likes
I did run that yesterday when I updated. I just don’t understand why its not running hourly. I am tempted to revert to the previous version and see if it will work
Check the services for topology updater
- cnode-tu-push.service : pushes a node alive message to Topology Updater API
- cnode-tu-push.timer : schedules the push service to execute once every hour
- cnode-tu-fetch.service : fetches a fresh topology file before cnode.service file is started/restarted
- cnode-tu-restart.service : handles the restart of cardano-node(cnode.sh)
- cnode-tu-restart.timer : schedules the cardano-node restart service, default every 24h
sudo systemctl status cnode-tu-push.timer
try to execute the script manually first and check whether it went smoothly or not