参考链接
因为这个网站访问速度很慢,我提供了IPFS的MAC版本。有需要的查看我的资源下载。
大致流程
安装
$ ls
go-ipfs_v0.4.10_darwin-amd64.tar.gz
$ tar xvfz go-ipfs_v0.4.10_darwin-amd64.tar.gz
x go-ipfs/build-log
x go-ipfs/install.sh
x go-ipfs/ipfs
x go-ipfs/LICENSE
x go-ipfs/README.md
$ ls
go-ipfs go-ipfs_v0.4.10_darwin-amd64.tar.gz
$ cd go-ipfs
$ ls
LICENSE README.md build-log install.sh ipfs
$ mv ipfs /usr/local/bin/ipfs
tar xvfz go-ipfs_v0.4.10_darwin-amd64.tar.gz
文件解压。cp ipfs /usr/local/bin/ipfs
,将已解压的文件夹中的ipfs
文件拷贝到/usr/local/bin/
文件夹中
项目配置
创建IPFS节点
$ cd ~/.ipfs
-bash: cd: /Users/liyuechun/.ipfs: No such file or directory
$ ipfs init
initializing IPFS node at /Users/CHY/.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP
to get started, enter:ipfs cat /ipfs/QmVLDAhCY3X9P2uRudKAryuQFPM5zqA3Yij1dY8FpGbL7T/readme$ cd ~/.ipfs
$ ls
blocks datastore version config keystore
$ open ./
-
为了运行项目,我们需要通过
ipfs init
在本地计算机建立一个IPFS
节点 -
使用命令 sudo su,输入密码,切换到管理员的账户,cd ~切换到主目录下,可以看到.ipfs隐藏文件夹
查看节点ID
$ ipfs id
{"ID": "QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP","PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDqJlLivZerwIYTI5K8pEzbRnmNti3rObvpa17AixKpgTPnWAvPmZr1SLBzYUjpy3coymLHkNldcEZixnWTIihKIF1pVhxJG2MzFg8vHnG7uF8vxyYE4wOZ6V4rTauYbGau1Tj/TSjzI9oKOoezitTn6ggD3p2Y6Y1/FWGRfAvG7UUBFXSMtwVkwM/F0aaP2k8vHgsZDeYLY8UCpq67dC+AgbVNieLrX/tht6D7iTYS5Ch5dMIpwxMdRLkrNx8k9CVFgvnILhdTJL4QfdNA4L5FnWJy3axhj6bRdVkBpcdgn2WAHxYW6FwkB/eFSKxwNCKsO2/C52mUNNMouN2XlObTAgMBAAE=","Addresses": null,"AgentVersion": "go-ipfs/0.4.10/","ProtocolVersion": "ipfs/0.1.0"
}
- 使用命令ipfs id查看节点id
- PubllicKey为加密的公钥
启动节点服务器
$ ipfs daemon
Initializing daemon...
Adjusting current ulimit to 2048...
Successfully raised file descriptor limit to 2048.
Swarm listening on /ip4/111.196.241.208/tcp/7723
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/192.168.0.107/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
-
使用命令ipfs daemon来启动节点服务器,一旦启动,这个命令窗口就停滞了,可以新建窗口或者使用ctrl+C来停止服务
跨域资源共享CORS配置
-
后续的开发,还需要对跨域资源共享
( CORS )
进行配置,ctrl- c
退出ipfs
,然后按照下面的步骤进行跨域配置。 -
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 config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Headers '["Authorization"]'
ipfs config --json API.HTTPHeaders.Access-Control-Expose-Headers '["Location"]'
验证
-
使用ipfs daemon命令重启服务器
-
新建一个终端,并且执行如下的命令
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
-
出现如下的界面,代表成功
浏览器UI界面
-
打开http://localhost:5001/webui会看到一个漂亮的
UI
界面