Skip to main content
Version: v3.3

admin

The admin namespace provides administrative methods for managing the Erigon node, including peer management and node information retrieval. These methods are designed for node operators and developers who need to monitor and control various aspects of the Erigon client's operation.

The admin namespace must be explicitly enabled using the --http.api flag when starting the RPC daemon. For security reasons, it's recommended not to include admin in the API list for public RPC endpoints.

Security Considerations

  • The admin namespace provides powerful administrative functions that should not be exposed on public RPC endpoints
  • When configuring public RPC access, explicitly exclude admin from the --http.api flag to prevent unauthorized access
  • These methods can affect node connectivity and should only be used by trusted operators

Usage in Testing and Development

  • Admin methods are commonly used in automated testing environments for peer management
  • The docker-compose configuration for automated testing includes the admin namespace in the API list for testing purposes
  • These methods are essential for setting up test networks and managing peer connections programmatically

Availability

  • Admin methods are available when the admin namespace is included in the --http.api flag
  • All admin methods are available on both HTTP and WebSocket connections
  • Some admin methods may require the node to be running with specific network configurations

Integration with P2P Network

  • Admin methods interact directly with Erigon's P2P networking layer
  • Peer management operations may take time to complete as they involve network operations
  • The effectiveness of admin_addPeer depends on network connectivity and peer availability

admin_nodeInfo

Returns information about the running node, including network details, protocols, and node identification.

Parameters

None

Example

curl -s --data '{"jsonrpc":"2.0","method":"admin_nodeInfo","params":[],"id":"1"}' -H "Content-Type: application/json" -X POST http://localhost:8545

Returns

TypeDescription
ObjectNode information object containing network and protocol details

admin_peers

Returns information about connected peers, including their network addresses, protocols, and connection status.

Parameters

None

Example

curl -s --data '{"jsonrpc":"2.0","method":"admin_peers","params":[],"id":"1"}' -H "Content-Type: application/json" -X POST http://localhost:8545

Returns

TypeDescription
ArrayArray of peer objects containing connection and protocol information

admin_addPeer

Attempts to add a new peer to the node's peer list by connecting to the specified enode URL.

Parameters

ParameterTypeDescription
enodeSTRINGThe enode URL of the peer to add (format: enode://pubkey@ip:port)

Example

curl -s --data '{"jsonrpc":"2.0","method":"admin_addPeer","params":["enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@52.16.188.185:30303"],"id":"1"}' -H "Content-Type: application/json" -X POST http://localhost:8545

Returns

TypeDescription
BooleanTrue if the peer was successfully added, false otherwise

admin_removePeer

Removes a peer from the node's peer list by disconnecting from the specified enode URL.

Parameters

ParameterTypeDescription
enodeSTRINGThe enode URL of the peer to remove (format: enode://pubkey@ip:port)

Example

curl -s --data '{"jsonrpc":"2.0","method":"admin_removePeer","params":["enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@52.16.188.185:30303"],"id":"1"}' -H "Content-Type: application/json" -X POST http://localhost:8545

Returns

TypeDescription
BooleanTrue if the peer was successfully removed, false otherwise