I’ve the precisely similar problem. Investigating propagagation of recent mined blocks, in response to charts on this website, a max propagation delay of 5s can be good. I’ve a node related to TOR, IPv6/v4, I2P, reverse tuneled to a VPS positioned in US, and after evaluating timestamp in block with message noticed new header/cmptblock, it bought a delay of 15s to 1m in principally of blocks.
Its value to say that my node are multihomed with two completely different ISPs, however each have poor efficiency in p2p connectivity.
As an alternative of sustaining ip of nodes from swimming pools, you may manually connect with nodes regulary, this nodes could be chosen from lessons: These from completely different international locations, and from completely different ISPs. Sustaining a set of various places and suppliers can cut back propagation instances.
That is some supply of nodes, you may filter by nation and model, and rating, within the case of bitnodes. These are possible most realiable nodes to attach.
https://api.blockchair.com/bitcoin/nodes
https://bitnodes.io/api/v1/nodes/leaderboard/?restrict=100
If you’re in a linux machine, you are able to do a sh script to do connections time to time, use somenthing like:
#!/bin/bash
BNODES=$(wget -q https://bitnodes.io/api/v1/nodes/leaderboard/?restrict=100 -O-)
CONNECT_TO=$(echo "$BNODES" | jq -r '.outcomes[].node')
for i in $(seq 2 30) # add 3k nodes to connection listing
do
BNODES=$(wget -q "https://bitnodes.io/api/v1/nodes/leaderboard/?restrict=100&web page="$i -O-)
CONNECT_TO=$CONNECT_TO" ""$(echo "$BNODES" | jq -r '.outcomes[].node')"
completed
for node in $CONNECT_TO
do
IP=$(echo $node | rev | minimize --complement -d: -f1 | rev)
PORT=$(echo $node | rev | minimize -d: -f1 | rev)
echo connecting to $node
bitcoin-cli addnode $IP:$PORT add # or onetry to attach as soon as (max 8 connections, it fails silently after it)
completed
You possibly can change jq to parse JSON encoded listing of nodes to get a few of them in response to your wants.

