在Mac上安装并使用Go版本的IPFS

IPFS(The InterPlanetary File System)是一个建立点到点的分布式文件存储的协议,跟它连接的计算设备都拥有相同的文件管理模式。这个概念跟互联网的最初理念很类似,但它是去中心化的。IPFS更像是互相转发Git目标的单个Bittorrent用户群。IPFS具备成为internet子系统的素质,通过合理配置可以完善甚至替代HTTP。我们以后会更详细的介绍。下面是安装一个Go版本的IPFS的流程。本文写的是如何在Mac上安装,但跟在Linux上的安装流程非常相似。

安装的方式很多,我们可以直接下载编译好的程序。这里介绍的是直接下载GO源码。Go的安装就不详细介绍了,大家可以看这里:下载 Go 1.9+.

首先要在本机上设置好GOPATH,并且将GOPATH/bin加到PATH中。

vi ~/.bash_profile

在文件末尾加上这两句:

export GOPATH="/Users/rfu/go"
export PATH=$PATH:$GOPATH/bin

然后调用一下

. ~/.bash_profile

下载并安装IPFS源码。

go get -u -d github.com/ipfs/go-ipfs
cd $GOPATH/src/github.com/ipfs/go-ipfs
make install

缺省IPFS路径是 ~/.ipfs。

开始调试IPFS

ipfs init

查看

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
Hello and Welcome to IPFS!

██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝

If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!

 -------------------------------------------------------
| Warning:                                              |
|   This is alpha software. Use at your own discretion! |
|   Much is missing or lacking polish. There are bugs.  |
|   Not yet secure. Read the security notes for more.   |
 -------------------------------------------------------

Check out some of the other files in this directory:

  ./about
  ./help
  ./quick-start     <-- usage examples
  ./readme          <-- this file
  ./security-notes

把一个文件夹中全部文件加到IPFS中。

ipfs add -r .
# 查看刚刚加的文件
ipfs ls QmPiZzFRVVs7JNjJpx2f313ke3T9rwNugmKKaTEK7jNdJP
ipfs daemon
ipfs swarm peer

打开浏览器看文件
localhost:8080/ipfs/QmPiZzFRVVs7JNjJpx2f313ke3T9rwNugmKKaTEK7jNdJP
https://gateway.ipfs.io/ipfs/QmPiZzFRVVs7JNjJpx2f313ke3T9rwNugmKKaTEK7jNdJP

打开本地ipfs浏览器。
http://127.0.0.1:5001/webui

为了方便后续前端的开发和数据访问,提前对跨域资源共享CORS进行配置,ctrl+c 退出ipfs,然后按照下面的步骤进行跨域配置:

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST", "OPTIONS"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

(为了做ipfs mount,尝试了各种在Mac上装osxfuse,没有成功。)
Download osxfuse
or
brew cask install osxfuse

vi ~/.ipfs/config
Replace "DontCheckOSXFUSE": true, to "DontCheckOSXFUSE": "true",
## the following line will not work.
ipfs config DontCheckOSXFUSE true
ipfs mount
ls /ipfs

如果要将ipfs daemon停止,可以用ctrl+c或者

ps -ef | grep ipfs
kill -9 [pid]

IPFS单机版学会玩了吗?接下来就可以学习怎样使用集群版了。

你可能感兴趣的:(在Mac上安装并使用Go版本的IPFS)