github.com/zignig/go-ipfs@v0.0.0-20141111235910-c9e5fdf55a52/net/handshake/pb/handshake.proto (about) 1 package handshake.pb; 2 3 //import "github.com/jbenet/go-ipfs/net/mux/mux.proto"; 4 5 // Handshake1 is delivered _before_ the secure channel is initialized 6 message Handshake1 { 7 // protocolVersion determines compatibility between peers 8 optional string protocolVersion = 1; // semver 9 10 // agentVersion is like a UserAgent string in browsers, or client version in bittorrent 11 // includes the client name and client. e.g. "go-ipfs/0.1.0" 12 optional string agentVersion = 2; // semver 13 14 // we'll have more fields here later. 15 } 16 17 // Handshake3 is delivered _after_ the secure channel is initialized 18 message Handshake3 { 19 20 // publicKey is this node's public key (which also gives its node.ID) 21 // - may not need to be sent, as secure channel implies it has been sent. 22 // - then again, if we change / disable secure channel, may still want it. 23 // optional bytes publicKey = 1; 24 25 // listenAddrs are the multiaddrs the sender node listens for open connections on 26 repeated bytes listenAddrs = 2; 27 28 // TODO 29 // services list the services this node is running 30 // repeated mux.ProtocolID services = 3; 31 32 // we'll have more fields here later. 33 34 // oservedAddr is the multiaddr of the remote endpoint that the sender node perceives 35 // this is useful information to convey to the other side, as it helps the remote endpoint 36 // determine whether its connection to the local peer goes through NAT. 37 optional bytes observedAddr = 4; 38 }