From 18950591196c1294a94520ec0737d0c1dbaa0802 Mon Sep 17 00:00:00 2001
From: Felix Lange <fjl@users.noreply.github.com>
Date: Thu, 4 Oct 2018 17:13:21 +0200
Subject: [PATCH] p2p: add enode URL to PeerInfo (#17838)

---
 p2p/peer.go | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/p2p/peer.go b/p2p/peer.go
index b61cced54..af019d07a 100644
--- a/p2p/peer.go
+++ b/p2p/peer.go
@@ -425,9 +425,10 @@ func (rw *protoRW) ReadMsg() (Msg, error) {
 // peer. Sub-protocol independent fields are contained and initialized here, with
 // protocol specifics delegated to all connected sub-protocols.
 type PeerInfo struct {
-	ID      string   `json:"id"`   // Unique node identifier (also the encryption key)
-	Name    string   `json:"name"` // Name of the node, including client type, version, OS, custom data
-	Caps    []string `json:"caps"` // Sum-protocols advertised by this particular peer
+	Enode   string   `json:"enode"` // Node URL
+	ID      string   `json:"id"`    // Unique node identifier
+	Name    string   `json:"name"`  // Name of the node, including client type, version, OS, custom data
+	Caps    []string `json:"caps"`  // Protocols advertised by this peer
 	Network struct {
 		LocalAddress  string `json:"localAddress"`  // Local endpoint of the TCP data connection
 		RemoteAddress string `json:"remoteAddress"` // Remote endpoint of the TCP data connection
@@ -447,6 +448,7 @@ func (p *Peer) Info() *PeerInfo {
 	}
 	// Assemble the generic peer metadata
 	info := &PeerInfo{
+		Enode:     p.Node().String(),
 		ID:        p.ID().String(),
 		Name:      p.Name(),
 		Caps:      caps,
-- 
GitLab