4.4 KiB
description: Managing Pantheon peers
Managing Peers
Limiting Peers
Limiting peers reduces the bandwidth used by Pantheon. It also reduces the CPU time and disk access used to manage and respond to peers.
Use the --max-peers
command line option to reduce
the maximum number of peers. The default is 25.
No Discovery
The --discovery-enabled
command line option
can be used to disable P2P peer discovery.
Set this option to false
if you are running a test node or a network with static nodes.
Static Nodes
Static nodes are configured nodes that remain connected rather than nodes connected through P2P discovery. Static nodes attempt to maintain connectivity. If a connection goes down to a static node, the node attempts to reconnect every 60 seconds.
To configure a network of static nodes:
-
List enode URLs of the nodes in the
static-nodes.json
file. -
Save the
static-nodes.json
file in the data directory of each node. -
Start Pantheon with discovery disabled using
--discovery-enabled=false
.
To modify the static peers at run time, use the admin_addPeer
and admin_removePeer
JSON-RPC API methods.
!!! note
Runtime modifications of static nodes are not persisted between runs. The static-nodes.json
file
is not updated by admin_addPeer
and admin_removePeer
methods.
Nodes outside of the static nodes are not prevented from connecting. To prevent nodes from connecting,
use [Permissioning](../../Permissions/Permissioning-Overview.md).
!!! caution
If the added peer does not appear in the peer list (returned by admin_peers
),
check the supplied enode URL is correct, the node is running, the node is listening for
TCP connections on the endpoint, and has not reached the maximum number of peers.
static-nodes.json File
The static-nodes.json
file must be located in the data directory (specified by --data-path
)
and contain a JSON array of enode URLs.
!!! example
json [ "enode://cea71cb65a471037e01508cebcc178f176f9d5267bf29507ea1f6431eb6a5dc67d086dc8dc54358a72299dab1161febc5d7af49d1609c69b42b5e54544145d4f@127.0.0.1:30303", "enode://ca05e940488614402705a6b6836288ea902169ecc67a89e1bd5ef94bc0d1933f20be16bc881ffb4be59f521afa8718fc26eec2b0e90f2cd0f44f99bc8103e60f@127.0.0.1:30304" ]
!!! note
Each node has a static-nodes.json
file. We recommend each node in the network has the same static-nodes.json
file.
Monitoring Peer Connections
JSON-RPC API methods to monitor peer connections include:
Node Connections
The default logging configuration does not list node connection and disconnection messages.
To enable listing of node connection and disconnection messages, specify the
--logging
command line option --logging=DEBUG
.
For more verbosity, specify --logging=TRACE
.
The console logs connection and disconnection events when the log level is DEBUG
or higher.
If Successfully accepted connection from ...
is displayed, connections are getting through the firewalls.
!!! example "Example log output"
2018-10-16 12:37:35.479-04:00 | nioEventLoopGroup-3-1 | INFO | NettyP2PNetwork | Successfully accepted connection from 0xa979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c
Limiting Remote Connections
In private networks with a level of trust between peers, enabling the remote connection limits is unnecessary and disabling may increase the speed at which nodes can join the network.