Problem Summary
I’m running a cardano-node in Docker (ghcr.io/intersectmbo/cardano-node:10.2.1
) and encountering a very specific issue with peer configuration. The node starts successfully with TargetNumberOfActivePeers: 100
but fails with the exact same error when I change it to 101
.
Error Message
cardano-node: Error in creating the NodeConfiguration: Invalid peer selection targets. Ensure that targets satisfy the inequalities of known >= established >= active >= 0 for both deadline and sync target groups. The deadline groups start with TargetNumber... while the sync group starts with SyncTarget... Additionally, TargetNumberOfEstablishedPeers >= SyncTargetNumberOfActivePeers. Within each group, the category of big ledger peers is treated independently, but it too must satisfy the same inequality. Refer to cardano-node wiki page 'understanding config files' for details.
Working Configuration
This configuration works:
{
"TargetNumberOfActivePeers": 100,
"TargetNumberOfEstablishedPeers": 200,
"TargetNumberOfKnownPeers": 600,
"TargetNumberOfRootPeers": 240
}
Failing Configuration
This configuration fails (only changed 100 → 101):
{
"TargetNumberOfActivePeers": 101,
"TargetNumberOfEstablishedPeers": 200,
"TargetNumberOfKnownPeers": 600,
"TargetNumberOfRootPeers": 240
}
What I’ve Tried
- Math checks: 600 ≥ 200 ≥ 101 ≥ 0
- Adding sync targets: Added
SyncTargetNumber*
parameters - still fails - Adding big ledger targets: Added various big ledger peer configurations - still fails
- Different Docker images: Same issue across different versions
Is there a hardcoded limit of 100 active peers?
Environment
- Docker Image:
ghcr.io/intersectmbo/cardano-node:10.2.1
- Network: Mainnet
- Hardware: 256GB RAM VPS (should handle much higher peer counts)
Documentation Issue
The error references “cardano-node wiki page ‘understanding config files’” but this page seems to no longer exist. Has anyone found updated documentation for peer selection constraints in node 10.2+?
Any insights from the community would be greatly appreciated! This seems like either a documentation gap or a specific Docker image constraint that’s not well documented.
Thanks!
My Goal is to try to connect to as many peers as possible to stress test and find out the capabilities of my server and to try to optimize submitting transactions to make them propagate as fast as possible