lnwire: introduce new NetAddress struct for p2p node addr+key info

This commit is contained in:
Olaoluwa Osuntokun 2016-10-26 18:41:27 -07:00
parent ee593b273c
commit 99ed3b8616
No known key found for this signature in database
GPG Key ID: 9CC5B105D03521A2

33
lnwire/netaddress.go Normal file
View File

@ -0,0 +1,33 @@
package lnwire
import (
"net"
"github.com/roasbeef/btcd/btcec"
)
// ServiceFlag identifies the services supported by a particular Lightning
// Network peer.
type ServiceFlag uint64
// NetAddress represents information pertaining to the identity and network
// reachability of a peer. Information stored includes the node's identity
// public key for establishing a confidential+authenticated connection, the
// service bits it supports, and a TCP address the node is reachable at.
//
// TODO(roasbeef): merge with LinkNode in some fashion
type NetAddress struct {
// IdentityKey is the long-term static public key for a node. This node is
// used throughout the network as a node's identity key. It is used to
// authenticate any data sent to the network on behalf of the node, and
// additionally to establish a confidential+authenticated connection with
// the node.
IdentityKey *btcec.PublicKey
// Services defines the set of services supported by the node reachable at
// the address and identity key defined in the struct.
Services ServiceFlag
// Address is is the IP address and port of the node.
Address *net.TCPAddr
}