mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-25 23:02:16 +00:00
## Description Previously only outbound peers can be persistent. Now, even if the peer is inbound, if it's marked as persistent, when/if conn is lost, Tendermint will try to reconnect. This part is actually optional and can be reverted. Plus, seed won't disconnect from inbound peer if it's marked as persistent. Fixes #3362 ## Commits * make persistent prop independent of conn direction Previously only outbound peers can be persistent. Now, even if the peer is inbound, if it's marked as persistent, when/if conn is lost, Tendermint will try to reconnect. Plus, seed won't disconnect from inbound peer if it's marked as persistent. Fixes #3362 * fix TestPEXReactorDialPeer test * add a changelog entry * update changelog * add two tests * reformat code * test UnsafeDialPeers and UnsafeDialSeeds * add TestSwitchDialPeersAsync * spec: update p2p/config spec * fixes after Ismail's review * Apply suggestions from code review Co-Authored-By: melekes <anton.kalyaev@gmail.com> * fix merge conflict * remove sleep from TestPEXReactorDoesNotDisconnectFromPersistentPeerInSeedMode We don't need it actually.
39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
# P2P Config
|
|
|
|
Here we describe configuration options around the Peer Exchange.
|
|
These can be set using flags or via the `$TMHOME/config/config.toml` file.
|
|
|
|
## Seed Mode
|
|
|
|
`--p2p.seed_mode`
|
|
|
|
The node operates in seed mode. In seed mode, a node continuously crawls the network for peers,
|
|
and upon incoming connection shares some peers and disconnects.
|
|
|
|
## Seeds
|
|
|
|
`--p2p.seeds “id100000000000000000000000000000000@1.2.3.4:26656,id200000000000000000000000000000000@2.3.4.5:4444”`
|
|
|
|
Dials these seeds when we need more peers. They should return a list of peers and then disconnect.
|
|
If we already have enough peers in the address book, we may never need to dial them.
|
|
|
|
## Persistent Peers
|
|
|
|
`--p2p.persistent_peers “id100000000000000000000000000000000@1.2.3.4:26656,id200000000000000000000000000000000@2.3.4.5:26656”`
|
|
|
|
Dial these peers and auto-redial them if the connection fails.
|
|
These are intended to be trusted persistent peers that can help
|
|
anchor us in the p2p network. The auto-redial uses exponential
|
|
backoff and will give up after a day of trying to connect.
|
|
|
|
**Note:** If `seeds` and `persistent_peers` intersect,
|
|
the user will be warned that seeds may auto-close connections
|
|
and that the node may not be able to keep the connection persistent.
|
|
|
|
## Private Peers
|
|
|
|
`--p2p.private_peer_ids “id100000000000000000000000000000000,id200000000000000000000000000000000”`
|
|
|
|
These are IDs of the peers that we do not add to the address book or gossip to
|
|
other peers. They stay private to us.
|