当前位置: 首页 > news >正文

IPFS环境搭建节点安装

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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, path env 或者将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-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/

转载于:https://my.oschina.net/u/3837977/blog/1803154

相关文章:

  • Mac 系统安装robot framework
  • 前端跨域的解决方案
  • Hadoop所支持的几种压缩格式
  • mysql
  • Spring 依赖注入
  • 重定向
  • 软件测试-Svn服务器搭建全过程-基于Centos6.7-64bit
  • 陈新宇:CKafka在人脸识别PAAS中的应用
  • 开辟sys节点用户层直接操作物理地址(比/dev/mem方便)
  • centos 6.5 安装mysql
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • SoftMax多分类器原理及代码理解
  • BugkuCTF web基础$_GET
  • Android逆向之旅---静态方式分析破解视频编辑应用「Vue」水印问题
  • 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用
  • 【comparator, comparable】小总结
  • Angular Elements 及其运作原理
  • Apache Pulsar 2.1 重磅发布
  • ES学习笔记(12)--Symbol
  • JavaScript HTML DOM
  • JavaScript学习总结——原型
  • Python连接Oracle
  • spring + angular 实现导出excel
  • Vue 动态创建 component
  • 反思总结然后整装待发
  • 观察者模式实现非直接耦合
  • 机器学习学习笔记一
  • 前端_面试
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 运行时添加log4j2的appender
  • MPAndroidChart 教程:Y轴 YAxis
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​插件化DPI在商用WIFI中的价值
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 数论-逆元
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #define用法
  • $L^p$ 调和函数恒为零
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (附源码)计算机毕业设计高校学生选课系统
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (原)Matlab的svmtrain和svmclassify
  • .gitignore文件---让git自动忽略指定文件
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • // an array of int
  • @ModelAttribute注解使用
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [20171102]视图v$session中process字段含义
  • [20181219]script使用小技巧.txt
  • [AIGC] 使用Curl进行网络请求的常见用法