Cleaned up README
I did the following: - Capitalized IPFS wherever it did not explicitely refer to the CLI command - Moved Dev Dependencies into the Install section - Added a Table of Contents - Capitalised and added periods to various sentences - Capitalised Go - Removed double empty lines - Reindented a few sections to make the flow more clear. - Added a note to the Install section about how to canonically install. License: MIT Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
Richard Littauer committed
Feb 5, 2016 at 10:14 UTC
9ade2109ed538188f0ad91bd2c8ae29224f03825
1 file changed
+56
-39
README.md
+56
-39
@@ -1,16 +1,36 @@
1
-# ipfs implementation in go.
1
+# IPFS implementation in Go
2
[](https://godoc.org/github.com/ipfs/go-ipfs) [](https://travis-ci.org/ipfs/go-ipfs)
3
4
-Ipfs is a global, versioned, peer-to-peer filesystem. It combines good ideas from
4
+IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas from
5
Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bittorrent swarm,
6
exchanging git objects. IPFS provides an interface as simple as the HTTP web, but
7
with permanence built in. You can also mount the world at /ipfs.
8
9
-For more info see: https://github.com/ipfs/ipfs
9
+For more info see: https://github.com/ipfs/ipfs.
10
11
Please put all issues regarding IPFS _design_ in the
12
[ipfs repo issues](https://github.com/ipfs/ipfs/issues).
13
-Please put all issues regarding go IPFS _implementation_ in [this repo](https://github.com/ipfs/go-ipfs/issues).
13
+Please put all issues regarding Go IPFS _implementation_ in [this repo](https://github.com/ipfs/go-ipfs/issues).
14
+
15
+## Table of Contents
16
+
17
+- [Security Issues](#security-issues)
18
+- [Install](#install)
19
+ - [Install prebuilt packages](#install-prebuilt-packages)
20
+ - [Build from Source](#build-from-source)
21
+ - [Prerequisite: Install Go](#prerequisite-install-go)
22
+ - [Download + Compile IPFS](#download--compile-ipfs)
23
+ - [Development Dependencies](#development-dependencies)
24
+- [Updating](#updating)
25
+- [Usage](#usage)
26
+- [Getting Started](#getting-started)
27
+ - [Some things to try](#some-things-to-try)
28
+ - [Docker usage](#docker-usage)
29
+ - [Docker usage with VirtualBox/boot2docker (OSX and Windows)](#docker-usage-with-virtualboxboot2docker-osx-and-windows)
30
+- [Troubleshooting](#troubleshooting)
31
+- [Contributing](#contributing)
32
+- [Todo](#todo)
33
+- [License](#license)
34
35
## Security Issues
36
@@ -22,9 +42,9 @@ If the issue is a protocol weakness that cannot be immediately exploited or some
42
43
## Install
44
25
-The canonical download instructions for IPFS are over at: http://ipfs.io/docs/install/
45
+The canonical download instructions for IPFS are over at: http://ipfs.io/docs/install/. It is **highly suggested** you follow those instructions if you are not interested in working on IPFS development.
46
27
-## Install prebuilt packages
47
+### Install prebuilt packages
48
49
We use [gobuilder.me](https://gobuilder.me), a great service that automatically builds a release on every commit.
50
@@ -34,26 +54,26 @@ You can see the latest builds for your platform at these links:
54
- [`master` - development, stable](https://gobuilder.me/github.com/ipfs/go-ipfs/cmd/ipfs?branch=master)
55
56
From there:
37
-- click "Download" on the build for your platform
38
-- open/extract the archive
39
-- move `ipfs` to your path (`install.sh` can do it for you)
57
+- Click "Download" on the build for your platform.
58
+- Open/extract the archive.
59
+- Move `ipfs` to your path (`install.sh` can do it for you),
60
61
+### Build from Source
62
42
-## Build from Source
63
+#### Prerequisite: Install Go
64
44
-### Prerequisite: Install Go
45
-
46
-First, you'll need go. If you don't have it: [Download Go 1.5.2+](https://golang.org/dl/).
65
+First, you'll need Go. If you don't have it: [Download Go 1.5.2+](https://golang.org/dl/).
66
67
You'll need to add Go's bin directories to your `$PATH` environment variable e.g., by adding these lines to your `/etc/profile` (for a system-wide installation) or `$HOME/.profile`:
68
+
69
```
70
export PATH=$PATH:/usr/local/go/bin
71
export PATH=$PATH:$GOPATH/bin
72
```
73
54
-(If you run into trouble, see the [Go install instructions](https://golang.org/doc/install))
74
+(If you run into trouble, see the [Go install instructions](https://golang.org/doc/install)).
75
56
-### Download + Compile IPFS
76
+#### Download + Compile IPFS
77
78
Then:
79
@@ -71,17 +91,21 @@ all dependencies.
91
Compilation from source is recommended.
92
* If you are interested in development, please install the development
93
dependencies as well.
74
-* *WARNING: older versions of OSX FUSE (for Mac OS X) can cause kernel panics when mounting!*
94
+* *WARNING: Older versions of OSX FUSE (for Mac OS X) can cause kernel panics when mounting!*
95
We strongly recommend you use the [latest version of OSX FUSE](http://osxfuse.github.io/).
96
(See https://github.com/ipfs/go-ipfs/issues/177)
77
-* For more details on setting up FUSE (so that you can mount the filesystem), see the docs folder
97
+* For more details on setting up FUSE (so that you can mount the filesystem), see the docs folder.
98
* Shell command completion is available in `misc/completion/ipfs-completion.bash`. Read [docs/command-completion.md](docs/command-completion.md) to learn how to install it.
99
* See the [init examples](https://github.com/ipfs/examples/tree/master/examples/init) for how to connect IPFS to systemd or whatever init system your distro uses.
100
81
-### Updating
82
-ipfs has an updating tool that can be accessed through `ipfs update`. The tool is
83
-not installed alongside ipfs in order to keep that logic independent of the main
84
-codebase. To install ipfs update, either [download it here](https://gobuilder.me/github.com/ipfs/ipfs-update)
101
+### Development Dependencies
102
+
103
+If you make changes to the protocol buffers, you will need to install the [protoc compiler](https://github.com/google/protobuf).
104
+
105
+## Updating
106
+IPFS has an updating tool that can be accessed through `ipfs update`. The tool is
107
+not installed alongside IPFS in order to keep that logic independent of the main
108
+codebase. To install `ipfs update`, either [download it here](https://gobuilder.me/github.com/ipfs/ipfs-update)
109
or install it from source with `go get -u github.com/ipfs/ipfs-update`.
110
111
## Usage
@@ -96,7 +120,7 @@ USAGE:
120
BASIC COMMANDS
121
122
init Initialize ipfs local configuration
99
- add <path> Add a file to ipfs
123
+ add <path> Add an object to ipfs
124
cat <ref> Show ipfs object data
125
get <ref> Download ipfs objects
126
ls <ref> List links from an object
@@ -143,7 +167,7 @@ USAGE:
167
168
See also: http://ipfs.io/docs/getting-started/
169
146
-To start using ipfs, you must first initialize ipfs's config files on your
170
+To start using IPFS, you must first initialize IPFS's config files on your
171
system, this is done with `ipfs init`. See `ipfs init --help` for information on
172
the optional arguments it takes. After initialization is complete, you can use
173
`ipfs mount`, `ipfs add` and any of the other commands to explore!
@@ -161,15 +185,15 @@ Basic proof of 'ipfs working' locally:
185
186
### Docker usage
187
164
-An ipfs docker image is hosted at [hub.docker.com/r/jbenet/go-ipfs](https://hub.docker.com/r/jbenet/go-ipfs/).
188
+An IPFS docker image is hosted at [hub.docker.com/r/jbenet/go-ipfs](https://hub.docker.com/r/jbenet/go-ipfs/).
189
To make files visible inside the container you need to mount a host directory
190
with the `-v` option to docker. Choose a directory that you want to use to
167
-import/export files from ipfs. You should also choose a directory to store
168
-ipfs files that will persist when you restart the container.
191
+import/export files from IPFS. You should also choose a directory to store
192
+IPFS files that will persist when you restart the container.
193
194
export ipfs_staging=</absolute/path/to/somewhere/>
195
export ipfs_data=</absolute/path/to/somewhere_else/>
172
-
196
+
197
Make sure docker can access these folders:
198
199
sudo chmod -R 777 /absolute/path/to/somewhere/
@@ -188,7 +212,7 @@ Wait for ipfs to start. ipfs is running when you see:
212
Gateway (readonly) server
213
listening on /ip4/0.0.0.0/tcp/8080
214
191
-(you can now stop watching the log)
215
+You can now stop watching the log.
216
217
Run ipfs commands:
218
@@ -198,7 +222,6 @@ For example: connect to peers
222
223
docker exec ipfs_host ipfs swarm peers
224
201
-
225
Add files:
226
227
cp -r <something> $ipfs_staging
@@ -211,16 +234,15 @@ Stop the running container:
234
#### Docker usage with VirtualBox/boot2docker (OSX and Windows)
235
236
Since docker is running in the boot2docker VM, you need to forward
214
-relevant ports from the VM to your host for ipfs act normally. This is
237
+relevant ports from the VM to your host for IPFS to act normally. This is
238
accomplished with the following command:
239
240
boot2docker ssh -L 5001:localhost:5001 -L 4001:localhost:4001 -L 8080:localhost:8080 -fN
241
219
-
242
### Troubleshooting
221
-If you have previously installed ipfs before and you are running into
243
+If you have previously installed IPFS before and you are running into
244
problems getting a newer version to work, try deleting (or backing up somewhere
223
-else) your ipfs config directory (~/.ipfs by default) and rerunning `ipfs init`.
245
+else) your IPFS config directory (~/.ipfs by default) and rerunning `ipfs init`.
246
This will reinitialize the config file to its defaults and clear out the local
247
datastore of any bad entries.
248
@@ -228,18 +250,13 @@ For any other problems, check the [issues list](https://github.com/ipfs/go-ipfs/
250
and if you dont see your problem there, either come talk to us on irc (freenode #ipfs) or
251
file an issue of your own!
252
231
-
253
## Contributing
254
255
Please see [Contribute.md](contribute.md)!
256
257
## Todo
258
238
-An IPFS alpha version has been released in February 2015. Things left to be done are all marked as [Issues](https://github.com/ipfs/go-ipfs/issues)
239
-
240
-## Development Dependencies
241
-
242
-If you make changes to the protocol buffers, you will need to install the [protoc compiler](https://github.com/google/protobuf).
259
+An IPFS alpha version has been released in February 2015. Things left to be done are all marked as [issues](https://github.com/ipfs/go-ipfs/issues).
260
261
## License
262