IPFS环境搭建节点安装

Wesley13
• 阅读 803

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

一、ipfs节点安装与使用

1.1下载节点软件

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

1.2解压节点软件

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

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

可以将该目录加入环境变量PATH, IPFS环境搭建节点安装 或者将d:\go-ipfs\ipfs.exe拷贝到windows系统目录,以便在任何目录中可以启动ipfs.exe。

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子目录,作为本地仓库的根目录。

如果你的C盘空间不够大,或者你就是希望使用其他目录作为本地仓库根目录,可以设置IPFS_PATH环境变量,使其指向目标路径,例如D:\my_ipfs_root IPFS环境搭建节点安装

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/

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
菜园前端 菜园前端
1年前
DOM 文档对象模型使用教程来喽!
原文链接:HTML模板html我是网站标题访问节点通过id访问指定节点getElementByIdjavascriptvarnodedocument.getElementById('box')通过name访问指定节点getElementsByNamejav
Wesley13 Wesley13
3年前
GoJS API学习
varnode{};node"key""节点Key";node"loc""00";//节点坐标node"text""节点名称";//添加节点通过按钮点击,添加新的节点到画布myDiagram.model.addNodeData(nod
Wesley13 Wesley13
3年前
IPFS目标是打造一个更加开放、快速、安全的互联网
IPFS技术和Filecion技术实际上是两种技术,它们之间既有联系又有区别,首先我们从技术角度去说,IPFS使用的技术栈里面主要包含BT技术,再加上其它类型的技术。它是一个集各项成熟技术为一体的创新型项目,这就是IPFS。需要注意的是:IPFS技术栈里边并没有任何区块链特有的技术,比如共识,比如代币等等。也就是说它里边没有用到区块链相关技术。!在这
Wesley13 Wesley13
3年前
IPFS实践之初体验
更多我的博客请关注:https://kekbin.com/(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fkekbin.com%2F)概述IPFS的全称是InterPlanetaryFileSystem(星际文件系统),从名称上看,这是一个很炫酷、很有野心的项目。简
Caomeinico Caomeinico
3年前
IPFS介绍
好买网(www.goodmai.com)在全球分布式文件系统领域,已经有许多人的尝试。一些系统已经取得了重大的成功,而很多却完全失败了。在学术尝试中,AFS6就是成功的例子,如今已经得到广泛的应用,然而,其他的7,?却没有得到相同的结果。在学术界之外,应用最广泛的是面向音视频媒体的点对点文件共享系统。最值得注意的是,Napster,KaZaA和B
Stella981 Stella981
3年前
FIL价格即将重回千元,5G助力Filecoin创造奇迹成为千倍币
!image.png(http://static.bxdaka.com/bxdk_res/static.bxdaka.com/article/edit/202012/16075875499.png)众所周知,IPFS这一举世无双的新技术,也被称为“星际文件系统”,是一个点到点的分布式文件系统。通过底层协议,它能让存储在IPFS系统中的
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这