BP Node only has 1 Peer In out of 3 Relays ; toplogyUpdater : relay-topology_pull

Hi Community,

I’ve looked around the forms and searched for a situation similar to mines that i’m having and saw others had problems, but was different as they had 0 peers in.

I have 1 BP node and 3 Relays. However, only 1 of my relays is showing “IN” on the BP Node.
The BP is showing up in liveView on the relays as “IN”.
Relay 1 - 3 all have ports and follow same firewall rules.

Any help is appreciated on solving this.

I’m using topologyUpdater.sh and relay-topology_pull.sh on the Relay node instances and have been following Guide: How to build a Cardano Stake Pool - CoinCashew
My pool is #TTMA : [TTMA] To The Moon ADA | Cardano Staking

1 Like

Hi!

Have you configured your BP node as CUSTOM_PEER in topologyUpdater.sh running on the relays node?

Hi laplasz,

Thanks for replying so quickly. I do not have CUSTOM_PEER setup in topologyUpdater.sh.
I do see a customPeer field in relay-topology_pull.sh …

topologyUpdater-Relay

inside the topologyUpdater:

######################################
# User Variables - Change as desired #
######################################

CNODE_HOSTNAME="CHANGE ME"  # (Optional) Must resolve to the IP you are requesting from
CNODE_VALENCY=1             # (Optional) for multi-IP hostnames
MAX_PEERS=15                # Maximum number of peers to return on successful fetch
#CUSTOM_PEERS="None"        # Additional custom peers to (IP:port[:valency]) to add to your target topology.json
                            # eg: "10.0.0.1:3001|10.0.0.2:3002|relays.mydomain.com:3003:3"
#BATCH_AUTO_UPDATE=N        # Set to Y to automatically update the script if a new version is available without user interaction

there you need to define BP node address as custom peer to be generated into the topology.json file

topologyUpdater.sh - add CUSTOM_PEERS=":" ?

I see the eg has multiple. I assume I would only be adding the BP Block IP address

yes, like CUSTOM_PEERS="127.0.0.1:3000"

I can ignore valency part?

I added the CUSTOM_PEERS field and restarted using : sudo systemctl reload-or-restart cardano-node.
I do not see an IN on the BP block for the relay yet.

it takes time for relay to starting up, but in the meantime you can check the generated topology.json contains the BP address - at the beginning of the file

I do not see the BP Ip in mainnet-topology.json … Is there another .json file i should be looking for?

that means the topologyUpdater updates another file - delete all the content in the file and see the file will be updated after running the topologyUpdater again

Literally deleted everything… now getting:

cardano-node: FatalError {fatalErrorMessage = “Cardano.Node.Run.handleSimpleNode.readTopologyFile: Is your topology file formatted correctly? The port and valency fields should be numerical. Error in $: not enough input”}

but first - execute the topologyUpdater… dont start the node until you have a correct topology.json

attempting to run toplogyUpdater.sh and it is showing:

cardano-cli: Network.Socket.connect: <socket: 11>: does not exist (No such file or directory){ “resultcode”: “502”, “datetime”:“2021-04-16 22:57:14”, “clientIp”: “”, “msg”: “invalid blockNo ” }

Node is offline as well.

seems you have an older version of topologyUpdater…
fetch the latest:
https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/topologyUpdater.sh
yes, it is offline since the topology.json is faulty now - you need to generate one again

Okay Thanks. it’ll a few hours before i can finish it. I’ll let you know ! Thanks for assisting so much!

1 Like

Hi,

I was looking at coincash step 14 Guide: How to build a Cardano Stake Pool - CoinCashew regarding relay-topology_pull.sh . instead of the relaying on on topologyUpdater, it use also relay-topology_pull which contains the custom_peers field that writs on to the toplogy.json file.Would this be causing the issue?

On relaynode1

cat > $NODE_HOME/relay-topology_pull.sh << EOF

#!/bin/bash

BLOCKPRODUCING_IP=

BLOCKPRODUCING_PORT=6000

curl -s -o NODE_HOME/{NODE_CONFIG}-topology.json “https://api.clio.one/htopology/v1/fetch/?max=20&customPeers=${BLOCKPRODUCING_IP}:${BLOCKPRODUCING_PORT}:1|relays-new.cardano-mainnet.iohk.io:3001:2

EOF

Hi,

Looks like the issue is with the curl containing " , " commas vs " : ". After replacing the command with " : " it worked. For anyone who may run into this issue with Guide: How to build a Cardano Stake Pool - CoinCashew step 14 using /relay-topology_pull.sh in concurrent with /topologyUpdater.sh . I did not need to update to the newest toplogyUpdater although that did work on 1 of my other relays.

On relaynode

cat > $NODE_HOME/relay-topology_pull.sh << EOF
#!/bin/bash
BLOCKPRODUCING_IP=
BLOCKPRODUCING_PORT=6000
curl -s -o NODE_HOME/{NODE_CONFIG}-topology.json “https://api.clio.one/htopology/v1/fetch/?max=20&customPeers=${BLOCKPRODUCING_IP}:${BLOCKPRODUCING_PORT}:1|relays-new.cardano-mainnet.iohk.io:3001:2
EOF

1 Like