提交 8c35988b 作者: Juan Batiz-Benet 提交者: Brian Tiger Chow

add bootstrap peers to peerstore.

上级 b30dd47a
...@@ -121,7 +121,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) { ...@@ -121,7 +121,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
exchangeSession = bitswap.NetMessageSession(ctx, exchangeService, local, d, route) exchangeSession = bitswap.NetMessageSession(ctx, exchangeService, local, d, route)
// TODO(brian): pass a context to initConnections // TODO(brian): pass a context to initConnections
go initConnections(cfg, route) go initConnections(cfg, peerstore, route)
} }
// TODO(brian): when offline instantiate the BlockService with a bitswap // TODO(brian): when offline instantiate the BlockService with a bitswap
...@@ -184,7 +184,7 @@ func initIdentity(cfg *config.Config) (*peer.Peer, error) { ...@@ -184,7 +184,7 @@ func initIdentity(cfg *config.Config) (*peer.Peer, error) {
}, nil }, nil
} }
func initConnections(cfg *config.Config, route *dht.IpfsDHT) { func initConnections(cfg *config.Config, pstore peer.Peerstore, route *dht.IpfsDHT) {
for _, p := range cfg.Peers { for _, p := range cfg.Peers {
if p.PeerID == "" { if p.PeerID == "" {
u.PErr("error: peer does not include PeerID. %v\n", p) u.PErr("error: peer does not include PeerID. %v\n", p)
...@@ -200,8 +200,12 @@ func initConnections(cfg *config.Config, route *dht.IpfsDHT) { ...@@ -200,8 +200,12 @@ func initConnections(cfg *config.Config, route *dht.IpfsDHT) {
npeer := &peer.Peer{ID: peer.DecodePrettyID(p.PeerID)} npeer := &peer.Peer{ID: peer.DecodePrettyID(p.PeerID)}
npeer.AddAddress(maddr) npeer.AddAddress(maddr)
_, err = route.Connect(npeer) if err = pstore.Put(npeer); err != nil {
if err != nil { u.PErr("Bootstrapping error: %v\n", err)
continue
}
if _, err = route.Connect(npeer); err != nil {
u.PErr("Bootstrapping error: %v\n", err) u.PErr("Bootstrapping error: %v\n", err)
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论