@cryptotaxi247 / kubo / commits / e76a8cf71

go-ipfs-config: migrate to the consolidated libp2p

BREAKING: this also removes the dependency on go-ipfs-addr so we can deprecate that package. This only appears to affect go-ipfs itself.

Steven Allen committed May 31, 2019 at 12:54 UTC e76a8cf714d93cf5c1dd3561d82225fa0aa6db7c
3 files changed +18 -24
config/bootstrap_peers.go
+15 -21
@@ -4,7 +4,9 @@ import (
4 "errors"
5 "fmt"
6
7 - iaddr "github.com/ipfs/go-ipfs-addr"
7 + peer "github.com/libp2p/go-libp2p-core/peer"
8 + ma "github.com/multiformats/go-multiaddr"
9 +
10 // Needs to be imported so that users can import this package directly
11 // and still parse the bootstrap addresses.
12 _ "github.com/multiformats/go-multiaddr-dns"
@@ -32,20 +34,17 @@ var DefaultBootstrapAddresses = []string{
34 "/ip6/2a03:b0c0:0:1010::23:1001/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd", // earth.i.ipfs.io
35 }
36
35 -// BootstrapPeer is a peer used to bootstrap the network.
36 -type BootstrapPeer iaddr.IPFSAddr
37 -
37 // ErrInvalidPeerAddr signals an address is not a valid peer address.
38 var ErrInvalidPeerAddr = errors.New("invalid peer address")
39
41 -func (c *Config) BootstrapPeers() ([]BootstrapPeer, error) {
40 +func (c *Config) BootstrapPeers() ([]peer.AddrInfo, error) {
41 return ParseBootstrapPeers(c.Bootstrap)
42 }
43
44 // DefaultBootstrapPeers returns the (parsed) set of default bootstrap peers.
45 // if it fails, it returns a meaningful error for the user.
46 // This is here (and not inside cmd/ipfs/init) because of module dependency problems.
48 -func DefaultBootstrapPeers() ([]BootstrapPeer, error) {
47 +func DefaultBootstrapPeers() ([]peer.AddrInfo, error) {
48 ps, err := ParseBootstrapPeers(DefaultBootstrapAddresses)
49 if err != nil {
50 return nil, fmt.Errorf(`failed to parse hardcoded bootstrap peers: %s
@@ -54,31 +53,26 @@ This is a problem with the ipfs codebase. Please report it to the dev team.`, er
53 return ps, nil
54 }
55
57 -func (c *Config) SetBootstrapPeers(bps []BootstrapPeer) {
56 +func (c *Config) SetBootstrapPeers(bps []peer.AddrInfo) {
57 c.Bootstrap = BootstrapPeerStrings(bps)
58 }
59
61 -func ParseBootstrapPeer(addr string) (BootstrapPeer, error) {
62 - ia, err := iaddr.ParseString(addr)
63 - if err != nil {
64 - return nil, err
65 - }
66 - return BootstrapPeer(ia), err
67 -}
68 -
69 -func ParseBootstrapPeers(addrs []string) ([]BootstrapPeer, error) {
70 - peers := make([]BootstrapPeer, len(addrs))
71 - var err error
60 +// ParseBootstrapPeer parses a bootstrap list into a list of AddrInfos.
61 +func ParseBootstrapPeers(addrs []string) ([]peer.AddrInfo, error) {
62 + maddrs := make([]ma.Multiaddr, len(addrs))
63 for i, addr := range addrs {
73 - peers[i], err = ParseBootstrapPeer(addr)
64 + var err error
65 + maddrs[i], err = ma.NewMultiaddr(addr)
66 if err != nil {
67 return nil, err
68 }
69 }
78 - return peers, nil
70 + return peer.AddrInfosFromP2pAddrs(maddrs...)
71 }
72
81 -func BootstrapPeerStrings(bps []BootstrapPeer) []string {
73 +// BootstrapPeerStrings formats a list of AddrInfos as a bootstrap peer list
74 +// suitable for serialization.
75 +func BootstrapPeerStrings(bps []peer.AddrInfo) []string {
76 bpss := make([]string, len(bps))
77 for i, p := range bps {
78 bpss[i] = p.String()
config/identity.go
+1 -1
@@ -3,7 +3,7 @@ package config
3 import (
4 "encoding/base64"
5
6 - ic "github.com/libp2p/go-libp2p-crypto"
6 + ic "github.com/libp2p/go-libp2p-core/crypto"
7 )
8
9 const IdentityTag = "Identity"
config/init.go
+2 -2
@@ -7,8 +7,8 @@ import (
7 "io"
8 "time"
9
10 - ci "github.com/libp2p/go-libp2p-crypto"
11 - peer "github.com/libp2p/go-libp2p-peer"
10 + ci "github.com/libp2p/go-libp2p-core/crypto"
11 + peer "github.com/libp2p/go-libp2p-core/peer"
12 )
13
14 func Init(out io.Writer, nBitsForKeypair int) (*Config, error) {