Browse Source

Merge node bug fix

v0.31
Anton Kaliaev 5 years ago
committed by Jack Zampolin
parent
commit
a4f9c6a5ba
1 changed files with 20 additions and 4 deletions
  1. +20
    -4
      node/node.go

+ 20
- 4
node/node.go View File

@ -441,17 +441,30 @@ func createSwitch(config *cfg.Config,
} }
func createAddrBookAndSetOnSwitch(config *cfg.Config, sw *p2p.Switch, func createAddrBookAndSetOnSwitch(config *cfg.Config, sw *p2p.Switch,
p2pLogger log.Logger) pex.AddrBook {
p2pLogger log.Logger, nodeKey *p2p.NodeKey) (pex.AddrBook, error) {
addrBook := pex.NewAddrBook(config.P2P.AddrBookFile(), config.P2P.AddrBookStrict) addrBook := pex.NewAddrBook(config.P2P.AddrBookFile(), config.P2P.AddrBookStrict)
addrBook.SetLogger(p2pLogger.With("book", config.P2P.AddrBookFile())) addrBook.SetLogger(p2pLogger.With("book", config.P2P.AddrBookFile()))
// Add ourselves to addrbook to prevent dialing ourselves // Add ourselves to addrbook to prevent dialing ourselves
addrBook.AddOurAddress(sw.NetAddress())
if config.P2P.ExternalAddress != "" {
addr, err := p2p.NewNetAddressString(p2p.IDAddressString(nodeKey.ID(), config.P2P.ExternalAddress))
if err != nil {
return nil, errors.Wrap(err, "p2p.external_address is incorrect")
}
addrBook.AddOurAddress(addr)
}
if config.P2P.ListenAddress != "" {
addr, err := p2p.NewNetAddressString(p2p.IDAddressString(nodeKey.ID(), config.P2P.ListenAddress))
if err != nil {
return nil, errors.Wrap(err, "p2p.laddr is incorrect")
}
addrBook.AddOurAddress(addr)
}
sw.SetAddrBook(addrBook) sw.SetAddrBook(addrBook)
return addrBook
return addrBook, nil
} }
func createPEXReactorAndAddToSwitch(addrBook pex.AddrBook, config *cfg.Config, func createPEXReactorAndAddToSwitch(addrBook pex.AddrBook, config *cfg.Config,
@ -594,7 +607,10 @@ func NewNode(config *cfg.Config,
return nil, errors.Wrap(err, "could not add peers from persistent_peers field") return nil, errors.Wrap(err, "could not add peers from persistent_peers field")
} }
addrBook := createAddrBookAndSetOnSwitch(config, sw, p2pLogger)
addrBook, err := createAddrBookAndSetOnSwitch(config, sw, p2pLogger, nodeKey)
if err != nil {
return nil, errors.Wrap(err, "could not create addrbook")
}
// Optionally, start the pex reactor // Optionally, start the pex reactor
// //


Loading…
Cancel
Save