for i := 0; i < len(lanPeer.IP); i++ {
addresses = append(addresses, NewLANNetAddressIPPort(lanPeer.IP[i], uint16(lanPeer.Port)))
}
- sw.dialPeers(addresses)
+ sw.DialPeers(addresses)
}
func (sw *Switch) connectLANPeersRoutine() {
wg.Done()
}
-func (sw *Switch) dialPeers(addresses []*NetAddress) {
- log.Info("dialPeers:", addresses)
+func (sw *Switch) DialPeers(addresses []*NetAddress) {
+ log.Info("DialPeers:", addresses)
connectedPeers := make(map[string]struct{})
for _, peer := range sw.Peers().List() {
addresses = append(addresses, address)
}
- sw.dialPeers(addresses)
+ sw.DialPeers(addresses)
}
func (sw *Switch) ensureOutboundPeers() {
address := NewNetAddressIPPort(nodes[i].IP, nodes[i].TCP)
addresses = append(addresses, address)
}
- sw.dialPeers(addresses)
+ sw.DialPeers(addresses)
}
func (sw *Switch) ensureOutboundPeersRoutine() {
}
}
-// whatz the pubKey?
func (m *monitor) collectDiscv() {
// nodeMap maps a node's public key to the node itself
nodeMap := make(map[string]*dht.Node)
}
func (m *monitor) monitorRountine() error {
+ sw := &p2p.Switch{}
+
+ var nodes []*orm.Node
+ if err := m.db.Model(&orm.Node{}).Find(&nodes).Error; err != nil {
+ return err
+ }
+
+ addresses := make([]*p2p.NetAddress, 0)
+ for i := 0; i < len(nodes); i++ {
+ // TODO: Host to IP
+ address := p2p.NewNetAddressIPPort(nodes[i].Host, nodes[i].Port)
+ addresses = append(addresses, address)
+ }
+ sw.DialPeers(addresses)
+
// TODO: dail nodes, get lantency & best_height
// TODO: decide check_height("best best_height" - "confirmations")
// TODO: get blockhash by check_height, get latency