BP has Processed TX, but Relay has 0 Processed TX

Hey everyone,

Coming in from the coincashew guide and have followed it fairly well IMO. I am running into an issue where the Processed TX is not moving on my relay node, but my BP does have moving TX.

I am not seeing my relay appear on the mainnet topology json

I have my relay setup for port forwarding through the router and am able to see the port when specifying my public ip and rleay port number when using port-checking sites. I have not setup my BP for port forwarding as I was of the understanding that the cardano network model suggested that a BP should only communicate to the relay and that the relay is what should be exposed out to the world.

I am unsure if i’ve missed something in terms of configuration steps… any help would be appreciated and I can provide any other snippets as needed.

My network is such that both relay and bp are on the same network and bp has the following config:

{
“Producers”: [
{
“addr”: “192.168.0.52”, <— This is relay IP on internal network
“port”: 6000,
“valency”: 1
}
]
}

Relay config consists of the following after successful runs of the topology generator/updater script:

{ “resultcode”: “201”, “networkMagic”: “764824073”, “ipType”:4, “requestedIpVersion”:“4”, “Producers”: [
{ “addr”: “192.168.0.51”, “port”: 6000, “valency”: 1 } , <—BP IP on internal network
{ “addr”: “relays-new.cardano-mainnet.iohk.io”, “port”: 3001, “valency”: 2 } ,

… additional addresses are listed here

] }

For relay :

  • check in config file if TraceMempool=true (for tx issue)
  • check the last log messages for topology updater script, which should run once/hour (for IN peers)

Cheers,

You’re a saint @Alexd1985 - setting TraceMempool=true fixed the issue of the 0 TX processing.

Just for my own edification - is TraceMempool meant as a logging property which was omitting intranet transactions or something like that? Or was it actually not processing transactions when it was set to false?

1 Like

just linking similar topic:

Nope, not affecting the functionality of the node, but it can save the memory if the node has not enough

Good to know, and yes @laplasz - that thread is definitely a better representation of the 0 TX issue I was experiencing.

@Alexd1985 With regards to the updater, i have been getting 204s but i am not sure if i’ve set it up correctly. i was a bit confused as to the CNODE_HOSTNAME arg given my network setup… was it supposed to be my relay’s public-facing IP placed there? Or was it supposed to be pointing to my BP’s internal IP? I’d also set the curl to “-4” since it is an IP address and not domain.

USERNAME=relay1main
CNODE_PORT=6000 # must match your relay node port as set in the startup command
CNODE_HOSTNAME=“100.100.10.10” # Should this be my RELAY public IP? or my BP private IP? (Relay public IP:100.100.10.10 vs. BP private IP:192.168.0.51)
CNODE_BIN="/usr/local/bin"
CNODE_HOME=/home/relay1main/cardano-my-node
CNODE_LOG_DIR="${CNODE_HOME}/logs"
GENESIS_JSON="${CNODE_HOME}/mainnet-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 )

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 -4 -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

If the BP and Relay are behind a private network u can use the private IPs to connect them

Ok, so then CNODE_HOSTNAME would be set to 192.168.0.51 - does this mean it will take longer than the usual 4 hours for the mainnet topology to propogate with my public IP of 100.100.10.10?

Nope, it will use same public IP to communicate with other nodes

  • BP <-> Relays - will use private IP (if there are behind same private LAN)
  • Relays <-> public nodes - will use public IP