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 }
inputPeers = append(inputPeers, defltPeers...) } if len(inputPeers) == 0 { res.SetError(errors.New("no bootstrap peers to add"), cmds.ErrClient) return } added, err := bootstrapAdd(r, cfg, inputPeers) if err != nil { res.SetError(err, cmds.ErrNormal) return } res.SetOutput(&BootstrapOutput{config.BootstrapPeerStrings(added)}) }, Type: BootstrapOutput{}, Marshalers: cmds.MarshalerMap{ cmds.Text: func(res cmds.Response) (io.Reader, error) { v, ok := res.Output().(*BootstrapOutput) if !ok { return nil, u.ErrCast() } buf := new(bytes.Buffer) if err := bootstrapWritePeers(buf, "added ", v.Peers); err != nil { return nil, err } return buf, nil