IPFS环境搭建节点安装

ipfs(InterPlanetary File System,星际文件系统),本文介绍节点软件ipfs环境搭建和使用方法,学习ipfs-api在nodejs代码中访问ipfs网络。node

1、ipfs节点安装与使用

1.1下载节点软件

到官网下载windows版的ipfs节点软件:32位64位 若是你不能访问官网,可使用百度云盘镜像:32位64位git

1.2解压节点软件

下载后解压到指定目录,例如d:\go-ipfs,开一个控制台窗口,测试:windows

D:\go-ipfs > ipfs version
Ipfs version 0.4.14

能够将该目录加入环境变量PATH, path env 或者将d:\go-ipfs\ipfs.exe拷贝到windows系统目录,以便在任何目录中能够启动ipfs.exe。api

1.3 初始化本地仓库

和git相似,ipfs节点也须要先初始化一个本地仓库。执行init子命令来初始化本地仓库:网络

D:\go-ipfs> ipfs init
Initializing IPFS node at C:\Users\hubwiz\.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmQaTgU1TLNHPBEvLGgWK1G9FgVByyUZNVhDs789uWPtku
to get started, enter:

     ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

默认状况下,ipfs将在当前用户主目录(例如:对于hubwiz用户,其主目录就是C:\Users\hubwiz)下创建.ipfs子目录,做为本地仓库的根目录。ide

若是你的C盘空间不够大,或者你就是但愿使用其余目录做为本地仓库根目录,能够设置IPFS_PATH环境变量,使其指向目标路径,例如D:\my_ipfs_root ipfs-path学习

1.4从新初始化

若是你指望从新初始化节点,会提醒你不能这么作,不然会改写你的密钥:区块链

D:\go-ipfs> ipfs init
Initializing IPFS node at C:\Users\hubwiz\.ipfs
Error: ipfs configuration file already exists!
Reinitializing would overwrite your keys.

这挡不住咱们。若是你必须从新初始化的话,先删除原来的仓库根目录便可:测试

D:\go-ipfs> del C:\users\hubwiz\.ipfs

1.5将文件添加到本地仓库

使用add子命令将指定的文件添加到本地仓库,例如将当前目录的README.md文件添加到本地仓库:编码

D:\go-ipfs> ipfs add README.md
465 B / ? [-------------------------------------------------------=--] 
added QmXBpD37vBm5537pqHwyJRGSaX7hMrkHyp866wqEVU2BE8 README.md

ipfs会根据文件的内容生成一个哈希值,例如:

QmXBpD37vBm5537pqHwyJRGSaX7hMrkHyp866wqEVU2BE8

你须要记录下这个编码,由于须要使用它来访问本地仓库(或ipfs网络)中的文件。 注意:ipfs并不会无节制地将你本地仓库中的文件分布到其余ipfs节点中,若是没有其余的ipfs节点搜索你的文件(的哈希值),那么你本地仓库中的文件将始终只存在于本地。

1.6访问ipfs文件

Ipfs网络中只能经过内容的哈希值来访问文件,例如对于上面的README.md文件,咱们使用cat子命令经过其哈希值来查看其内容:

D:\go-ipfs> ipfs cat QmXBpD37vBm5537pqHwyJRGSaX7hMrkHyp866wqEVU2BE8

控制台将输出内容:

\# ipfs commandline tool

This is the [ipfs](http://ipfs.io) commandline tool. It contains a full ipfs node.
......

1.7 将节点接入网络

执行daemon子命令将节点接入ipfs网络:

D:\go-ipfs> ipfs daemon
Initializing daemon...
......
Daemon is ready

只有当启动监听后,节点才可以接受ipfs网络中的内容检索请求,参与内容的交换与分布。

能够按Ctrl+C退出监听状态。

?

推荐两个以太坊相关的实战教程:

1.区块链初学者   :以太坊 DApp 实战开发入门

2.区块链开发进阶:去中心化以太坊 DApp 电商平台实战开发

更多的内容能够访问博客:

http://blog.hubwiz.com/2018/02/03/ipfs-api-dev/

相关文章
相关标签/搜索