func initConfig(out io.Writer) (*config.Config, error) { bootstrapPeers, err := config.ParseBootstrapPeers(DefaultBootstrapAddresses) if err != nil { return nil, err } datastore, err := datastoreConfig() if err != nil { return nil, err } conf := &config.Config{ // setup the node's default addresses. // NOTE: two swarm listen addrs, one tcp, one utp. Addresses: config.Addresses{ Swarm: []string{ "/ip4/0.0.0.0/tcp/4001", "/ip4/0.0.0.0/udp/4001/utp", "/ip6/::/tcp/4001", "/ip6/::/udp/4001/utp", }, API: "", Gateway: "/ip4/127.0.0.1/tcp/8080", }, Datastore: datastore, Bootstrap: config.BootstrapPeerStrings(bootstrapPeers), Discovery: config.Discovery{config.MDNS{ Enabled: false, Interval: 10, }}, // setup the node mount points. Mounts: config.Mounts{ IPFS: "/ipfs", IPNS: "/ipns", }, Ipns: config.Ipns{ ResolveCacheSize: 128, RecordLifetime: "7d", RepublishPeriod: "24h", }, Gateway: config.Gateway{ RootRedirect: "", Writable: false, PathPrefixes: []string{}, }, } return conf, nil }
Tagline: "Add peers to the bootstrap list.", ShortDescription: `Outputs a list of peers that were added (that weren't already in the bootstrap list). ` + bootstrapSecurityWarning, }, Arguments: []cmds.Argument{ cmds.StringArg("peer", false, true, peerOptionDesc).EnableStdin(), }, Options: []cmds.Option{ cmds.BoolOption("default", "Add default bootstrap nodes.").Default(false), }, Run: func(req cmds.Request, res cmds.Response) { inputPeers, err := config.ParseBootstrapPeers(req.Arguments()) if err != nil { res.SetError(err, cmds.ErrNormal) return } r, err := fsrepo.Open(req.InvocContext().ConfigRoot) if err != nil { res.SetError(err, cmds.ErrNormal) return } defer r.Close() cfg, err := r.Config() if err != nil { res.SetError(err, cmds.ErrNormal) return