本教程系统环境:Windows10
其他系统下的安装教程可以参考IPFS官方文档
- 按下windows键+R,输入powershell,点击运行,打开PS终端。
- 在PS中下载安装go-ipfs终端,通过以下命令完成
cd ~\ #移动到系统根目录
wget https://dist.ipfs.io/go-ipfs/v0.8.0/go-ipfs_v0.8.0_windows-amd64.zip -Outfile go-ipfs_v0.8.0.zip #下载最新版本的go-ipfs(压缩包格式)
Expand-Archive -Path go-ipfs_v0.8.0.zip -DestinationPath ~\Apps\go-ipfs_v0.8.0 #解压此文件
cd ~\Apps\go-ipfs_v0.8.0\go-ipfs #移动到刚刚解压的目录
.\ipfs.exe --version #测试该目录下程序是否可以使用,正常情况下会得到以下输出
# > ipfs version 0.8.0
pwd #查看当前路径,将输出的路径复制并添加到系统环境变量中
# > Path
# > ----
# > C:\Users\[Username]\Apps\go-ipfs_v0.8.0\go-ipfs
- 将刚刚
pwd
命令输出的目录复制并添加到系统环境变量,然后退出PS终端,通过Windows+R并开启传统cmd终端,在cmd终端中键入
cd ~
ipfs --version #正常情况下会输出下一行的版本信息
# > ipfs version 0.8.0
- ipfs初始化
ipfs init #初始化ipfs仓库,正常情况下会得到以下输出
# > initializing ipfs node at /Users/jbenet/.ipfs
# > generating 2048-bit RSA keypair...done
# > peer identity: [一串hash值]
# > to get started, enter:
# >
# > ipfs cat /ipfs/[与上述相同的hash值]/readme
这时如果键入ipfs cat /ipfs/[上面的hash值]/readme
,则会得到以下输出
Hello and Welcome to IPFS!
██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗ ███████╗
██║██╔═══╝ ██╔══╝ ╚════██║
██║██║ ██║ ███████║
╚═╝╚═╝ ╚═╝ ╚══════╝
If you see 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已经初始化完成。
5. 接入IPFS节点
在安装IPFS完成后,使用IPFS进行文件上传和下载之前,必须先让本机接入IPFS网络,具体方法是通过以下命令在cmd或PS中完成:
ipfs daemon
如果成功接入网络,会得到以下输出:
Initializing daemon...
go-ipfs version: 0.8.0
Repo version: 11
System version: amd64/windows
Golang version: go1.15.8
Swarm listening on /ip4/127.0.0.1/tcp/4001
[...](这里会输出很多类似上一行Swarm的输出)
API server listening on /ip4/127.0.0.1/tcp/5001
WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
这时,本机就已经成功接入IPFS网络了,可以愉快地使用IPFS进行文件上传与下载了。
- IPFS桌面版
IPFS桌面版可以方便地通过图形化操作界面完成文件的上传和下载,Windows桌面版的下载链接在这里。
其他系统版本的下载链接在这里。
由于桌面版的操作比较傻瓜,相信接触到IPFS的大神们一定会自行操作,本文章不再赘述。
但是值得一提的是,如果使用桌面版,则无需进行ipfs init
,也无需进行ipfs daemon
,因为这些操作都会由桌面应用程序帮你完成。并且笔者在实践中发现,IPFS桌面版启动之后连接都比较慢,如果你在双击IPFS Desktop的桌面图标后看到以下界面,请不要担心,这很有可能是因为网络缓慢原因,并非真的需要你手动在命令行键入ipfs daemon
。
当然,如果你在上面这个界面卡住了并且停留时长很长(e.g. 5min),那你首先可以检查本机的网络连接是否正常(例如是否可以使用国外搜索引擎)。但实际上,国内互联网并未对IPFS网络做相关的屏蔽,如果真的在这个界面卡住了,你可以重新阅读本教程,并检查每一步是否正确执行了,也可以阅读IPFS官方文档来寻求帮助(此文档需要翻墙查看)。
ipfs-Desktop版本正常开启后,会看到如下界面。
- ipfs上传与下载命令
这部分将介绍如何使用命令行完成ipfs的文件上传与下载。
无论是利用ipfs上传还是下载,都需要保证本机已接入ipfs节点,即需要开启一个cmd终端,在其中键入
ipfs daemon
然后,另开一个cmd终端,定位到需要上传的文件所在目录或者是想下载文件保存的目录,执行文件上传与下载命令。
上传:
ipfs add [Filename] #注意如果要上传的文件不在当前目录下,则Filename需使用绝对路径或相对路径表示
# 正常上传之后,会得到一行类似于下面的输出
# > added QmZnpQaDqyRsQBgim3oU3szxfxDkrpNUSmgaSuEkacwhnP hello.txt
# 你需要记录此hash值,它相当于你的文件在ipfs网络中的唯一标识,在下载时需要使用此hash
下载:
ipfs get [文件在ipfs公网中的hash值] -o [欲保存的文件名]
例如,笔者已在ipfs公网中上传过一个hello文件,可以使用以下命令下载:
ipfs get QmZnpQaDqyRsQBgim3oU3szxfxDkrpNUSmgaSuEkacwhnP -o hello.txt #下载ipfs网络中hash值为QmZnpQaDqyRsQBgim3oU3szxfxDkrpNUSmgaSuEkacwhnP的文件,并保存为hello.txt在当前目录下
type hello.txt #将hello.txt中的内容输出到终端,会得到以下输出,即为笔者先前上传的文件内容
# > Hello, ipfs!
至此,ipfs的文件上传和下载已完成。任何文件类型都可以通过ipfs来上传和下载,本机成为ipfs节点后,可以把ipfs当成一个巨大的网盘来使用。