From c2cc4b1d70fa5fb13e303a01e976ff2940fab391 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Fri, 29 Aug 2014 17:22:40 -0700 Subject: [PATCH] a little cleanup, ipfs 'works' for basic file adds and cats --- cmd/ipfs/add.go | 9 +++---- cmd/ipfs/cat.go | 2 +- cmd/ipfs/ipfs.go | 4 ++-- cmd/ipfs/ls.go | 2 +- cmd/ipfs/mount_unix.go | 2 +- cmd/ipfs/refs.go | 2 +- config/serialize.go | 2 +- core/core.go | 53 ++++++++++++++++++++++-------------------- 8 files changed, 40 insertions(+), 36 deletions(-) diff --git a/cmd/ipfs/add.go b/cmd/ipfs/add.go index c80d8ce18..f114dd5e9 100644 --- a/cmd/ipfs/add.go +++ b/cmd/ipfs/add.go @@ -2,6 +2,10 @@ package main import ( "fmt" + "io/ioutil" + "os" + "path/filepath" + "github.com/gonuts/flag" "github.com/jbenet/commander" core "github.com/jbenet/go-ipfs/core" @@ -9,9 +13,6 @@ import ( dag "github.com/jbenet/go-ipfs/merkledag" u "github.com/jbenet/go-ipfs/util" mh "github.com/jbenet/go-multihash" - "io/ioutil" - "os" - "path/filepath" ) // Error indicating the max depth has been exceded. @@ -41,7 +42,7 @@ func addCmd(c *commander.Command, inp []string) error { return nil } - n, err := localNode() + n, err := localNode(false) if err != nil { return err } diff --git a/cmd/ipfs/cat.go b/cmd/ipfs/cat.go index 74cb8b00d..41a1a2524 100644 --- a/cmd/ipfs/cat.go +++ b/cmd/ipfs/cat.go @@ -26,7 +26,7 @@ func catCmd(c *commander.Command, inp []string) error { return nil } - n, err := localNode() + n, err := localNode(false) if err != nil { return err } diff --git a/cmd/ipfs/ipfs.go b/cmd/ipfs/ipfs.go index b141e0396..e7a955d51 100644 --- a/cmd/ipfs/ipfs.go +++ b/cmd/ipfs/ipfs.go @@ -67,12 +67,12 @@ func main() { return } -func localNode() (*core.IpfsNode, error) { +func localNode(online bool) (*core.IpfsNode, error) { //todo implement config file flag cfg, err := config.Load("") if err != nil { return nil, err } - return core.NewIpfsNode(cfg) + return core.NewIpfsNode(cfg, online) } diff --git a/cmd/ipfs/ls.go b/cmd/ipfs/ls.go index 7c2135c0c..6a4270ce9 100644 --- a/cmd/ipfs/ls.go +++ b/cmd/ipfs/ls.go @@ -27,7 +27,7 @@ func lsCmd(c *commander.Command, inp []string) error { return nil } - n, err := localNode() + n, err := localNode(false) if err != nil { return err } diff --git a/cmd/ipfs/mount_unix.go b/cmd/ipfs/mount_unix.go index b6c69db9a..4f6e34402 100644 --- a/cmd/ipfs/mount_unix.go +++ b/cmd/ipfs/mount_unix.go @@ -31,7 +31,7 @@ func mountCmd(c *commander.Command, inp []string) error { return nil } - n, err := localNode() + n, err := localNode(true) if err != nil { return err } diff --git a/cmd/ipfs/refs.go b/cmd/ipfs/refs.go index df3c5d1f4..34623252d 100644 --- a/cmd/ipfs/refs.go +++ b/cmd/ipfs/refs.go @@ -36,7 +36,7 @@ func refCmd(c *commander.Command, inp []string) error { return nil } - n, err := localNode() + n, err := localNode(false) if err != nil { return err } diff --git a/config/serialize.go b/config/serialize.go index dc9835cca..bf495a260 100644 --- a/config/serialize.go +++ b/config/serialize.go @@ -33,7 +33,7 @@ func WriteConfigFile(filename string, cfg interface{}) error { // WriteFile writes the buffer at filename func WriteFile(filename string, buf []byte) error { - err := os.MkdirAll(filepath.Dir(filename), 755) + err := os.MkdirAll(filepath.Dir(filename), 0775) if err != nil { return err } diff --git a/core/core.go b/core/core.go index 01ff8c18a..43bf632c4 100644 --- a/core/core.go +++ b/core/core.go @@ -55,7 +55,7 @@ type IpfsNode struct { } // NewIpfsNode constructs a new IpfsNode based on the given config. -func NewIpfsNode(cfg *config.Config) (*IpfsNode, error) { +func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) { if cfg == nil { return nil, fmt.Errorf("configuration required") } @@ -65,35 +65,38 @@ func NewIpfsNode(cfg *config.Config) (*IpfsNode, error) { return nil, err } - maddr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/4001") - if err != nil { - return nil, err - } - - local := &peer.Peer{ - ID: peer.ID(cfg.Identity.PeerID), - Addresses: []*ma.Multiaddr{maddr}, - } - - if len(local.ID) == 0 { - mh, err := u.Hash([]byte("blah blah blah ID")) + var swap *bitswap.BitSwap + if online { + maddr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/4001") if err != nil { return nil, err } - local.ID = peer.ID(mh) + + local := &peer.Peer{ + ID: peer.ID(cfg.Identity.PeerID), + Addresses: []*ma.Multiaddr{maddr}, + } + + if len(local.ID) == 0 { + mh, err := u.Hash([]byte("blah blah blah ID")) + if err != nil { + return nil, err + } + local.ID = peer.ID(mh) + } + + net := swarm.NewSwarm(local) + err = net.Listen() + if err != nil { + return nil, err + } + + route := dht.NewDHT(local, net, d) + route.Start() + + swap = bitswap.NewBitSwap(local, net, d, route) } - net := swarm.NewSwarm(local) - err = net.Listen() - if err != nil { - return nil, err - } - - route := dht.NewDHT(local, net, d) - route.Start() - - swap := bitswap.NewBitSwap(local, net, d, route) - bs, err := bserv.NewBlockService(d, swap) if err != nil { return nil, err