a little cleanup, ipfs 'works' for basic file adds and cats
Jeromy committed
Aug 29, 2014 at 17:22 UTC
c2cc4b1d70fa5fb13e303a01e976ff2940fab391
8 files changed
+37
-33
cmd/ipfs/add.go
+5
-4
@@ -2,6 +2,10 @@ package main
2
3
import (
4
"fmt"
5
+ "io/ioutil"
6
+ "os"
7
+ "path/filepath"
8
+
9
"github.com/gonuts/flag"
10
"github.com/jbenet/commander"
11
core "github.com/jbenet/go-ipfs/core"
@@ -9,9 +13,6 @@ import (
13
dag "github.com/jbenet/go-ipfs/merkledag"
14
u "github.com/jbenet/go-ipfs/util"
15
mh "github.com/jbenet/go-multihash"
12
- "io/ioutil"
13
- "os"
14
- "path/filepath"
16
)
17
18
// Error indicating the max depth has been exceded.
@@ -41,7 +42,7 @@ func addCmd(c *commander.Command, inp []string) error {
42
return nil
43
}
44
44
- n, err := localNode()
45
+ n, err := localNode(false)
46
if err != nil {
47
return err
48
}
cmd/ipfs/cat.go
+1
-1
@@ -26,7 +26,7 @@ func catCmd(c *commander.Command, inp []string) error {
26
return nil
27
}
28
29
- n, err := localNode()
29
+ n, err := localNode(false)
30
if err != nil {
31
return err
32
}
cmd/ipfs/ipfs.go
+2
-2
@@ -67,12 +67,12 @@ func main() {
67
return
68
}
69
70
-func localNode() (*core.IpfsNode, error) {
70
+func localNode(online bool) (*core.IpfsNode, error) {
71
//todo implement config file flag
72
cfg, err := config.Load("")
73
if err != nil {
74
return nil, err
75
}
76
77
- return core.NewIpfsNode(cfg)
77
+ return core.NewIpfsNode(cfg, online)
78
}
cmd/ipfs/ls.go
+1
-1
@@ -27,7 +27,7 @@ func lsCmd(c *commander.Command, inp []string) error {
27
return nil
28
}
29
30
- n, err := localNode()
30
+ n, err := localNode(false)
31
if err != nil {
32
return err
33
}
cmd/ipfs/mount_unix.go
+1
-1
@@ -31,7 +31,7 @@ func mountCmd(c *commander.Command, inp []string) error {
31
return nil
32
}
33
34
- n, err := localNode()
34
+ n, err := localNode(true)
35
if err != nil {
36
return err
37
}
cmd/ipfs/refs.go
+1
-1
@@ -36,7 +36,7 @@ func refCmd(c *commander.Command, inp []string) error {
36
return nil
37
}
38
39
- n, err := localNode()
39
+ n, err := localNode(false)
40
if err != nil {
41
return err
42
}
config/serialize.go
+1
-1
@@ -33,7 +33,7 @@ func WriteConfigFile(filename string, cfg interface{}) error {
33
34
// WriteFile writes the buffer at filename
35
func WriteFile(filename string, buf []byte) error {
36
- err := os.MkdirAll(filepath.Dir(filename), 755)
36
+ err := os.MkdirAll(filepath.Dir(filename), 0775)
37
if err != nil {
38
return err
39
}
core/core.go
+25
-22
@@ -55,7 +55,7 @@ type IpfsNode struct {
55
}
56
57
// NewIpfsNode constructs a new IpfsNode based on the given config.
58
-func NewIpfsNode(cfg *config.Config) (*IpfsNode, error) {
58
+func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
59
if cfg == nil {
60
return nil, fmt.Errorf("configuration required")
61
}
@@ -65,34 +65,37 @@ func NewIpfsNode(cfg *config.Config) (*IpfsNode, error) {
65
return nil, err
66
}
67
68
- maddr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/4001")
69
- if err != nil {
70
- return nil, err
71
- }
68
+ var swap *bitswap.BitSwap
69
+ if online {
70
+ maddr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/4001")
71
+ if err != nil {
72
+ return nil, err
73
+ }
74
73
- local := &peer.Peer{
74
- ID: peer.ID(cfg.Identity.PeerID),
75
- Addresses: []*ma.Multiaddr{maddr},
76
- }
75
+ local := &peer.Peer{
76
+ ID: peer.ID(cfg.Identity.PeerID),
77
+ Addresses: []*ma.Multiaddr{maddr},
78
+ }
79
78
- if len(local.ID) == 0 {
79
- mh, err := u.Hash([]byte("blah blah blah ID"))
80
+ if len(local.ID) == 0 {
81
+ mh, err := u.Hash([]byte("blah blah blah ID"))
82
+ if err != nil {
83
+ return nil, err
84
+ }
85
+ local.ID = peer.ID(mh)
86
+ }
87
+
88
+ net := swarm.NewSwarm(local)
89
+ err = net.Listen()
90
if err != nil {
91
return nil, err
92
}
83
- local.ID = peer.ID(mh)
84
- }
85
-
86
- net := swarm.NewSwarm(local)
87
- err = net.Listen()
88
- if err != nil {
89
- return nil, err
90
- }
93
92
- route := dht.NewDHT(local, net, d)
93
- route.Start()
94
+ route := dht.NewDHT(local, net, d)
95
+ route.Start()
96
95
- swap := bitswap.NewBitSwap(local, net, d, route)
97
+ swap = bitswap.NewBitSwap(local, net, d, route)
98
+ }
99
100
bs, err := bserv.NewBlockService(d, swap)
101
if err != nil {