Ipfs基础入门
Ipfs介绍
Ipfs(Inter-Planetary File System!),中文译为星际网络文件系统,是基于默克尔有向无环图(merkle dag)的全球性p2p文件系统。
是一个面向全球的,点对点的分布式文件系统 。用基于内容的地址替代基于域名的地址(HTTP)。能提供比传统HTTP更稳定,更安全的服务。
Ipfs安装
系统:windows 10
Go:1.11.1
ipfs的安装有几种方式:
- 已经预编译好的包(推荐)
- 通过ipfs-update
- 源码安装
我这里用的是第1种,点这里下载: 这里选择自已相应平台的包就行了
Ipfs官方使用的是golang和javascript.也就是我们所说的go-ipfs和js-ipfs。我们选择go-ipfs就行
安装包下载完后,解压后,将ipfs.exe所在的路径,加到PATH里面就行了
进入cmd终端,输入ipfs version显示如下输出,表示安装成功。
d:\mywork\ipfs>ipfs version
ipfs version 0.4.18
基本使用
我们来一个最基本的使用,将一个文件加到ipfs后,然后下载它。
初始化
ipfs在首次使用时,需要先初始化。用来存储配置和它内部用到的一些数据。
ipfs init
initializing ipfs node at C:\Users\Administrator\.ipfs
generating 2048-bit RSA keypair...done
peer identity: Qmcpo2iLBikrdf1d6QU6vXuNb6P7hwrbNPW9kLAH8eG67z
to get started, enter:
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
会生成一个peer(结点),其它结点会通过这个结点找到你
如果忘记了,可以通过如下命令显示和获取到。
ipfs id
d:\mywork\ipfs>ipfs id
{
"ID": "QmPUeLNAyiLY81LhQjd5otbeEoqDyQjwyRLiMQnX3yjJYr",
"PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDrvb81+XUqHOgh4fxqPfseyryOYMRaNY7xfQpolKR4dgx0rfF4dp+NBHrg8tZ0BDIagsY5CxPYzYhtRjBaimB+Nxp76u7BLyNOGE+/EIjC/qa0oxFRq2XFQwuf7ELnuxjaMpTz0U1diDXUXGlS24PrgBdqMMsFWSau+BCP7YL3efvLXZmCwJsxzUexAtlqvUsFH6bimOh97kSizAEXqQwPMKD7gqTmVRepWz8Zi4pDnmaHn9NgegA1ca25By7fatyLtzcbRdNlupJoIGsvO1xyju1rQnHWwACamlHbLuE2pgt/z4LUOBUz2XLqrU7Tk3+USfSsuK8EF9kcbsODc4mNAgMBAAE=",
"Addresses": null,
"AgentVersion": "go-ipfs/0.4.18/",
"ProtocolVersion": "ipfs/0.1.0"
}
Going Online(上线)
不管是使用Ipfs的cli或http。我们需要在本地将Ipfs网络上线。可同步结点数据到Ipfs网络
新开一个终端,执行如下命令
C:\Users\Administrator>ipfs daemon
Initializing daemon...
go-ipfs version: 0.4.18-
Repo version: 7
System version: amd64/windows
Golang version: go1.11.1
Swarm listening on /ip4/10.8.200.77/tcp/4001
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit
Swarm announcing /ip4/10.8.200.77/tcp/4001
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /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
另外,Ipfs还提供了一个web界面的控制台,可以查看集群结点的状态。
http://localhost:5001/webui
add文件,这里传的文件,不会马上到ipfs网络,除非有人访问过。
d:\mywork\ipfs>ipfs add hello.txt
10 B / 10 B [=====================================================================================================================================================================================================================] 100.00%added QmYXxGFEnYfwheuSS6ppLSHgFpLg7i2g499dz358XtMNbe hello.txt
added QmYXxGFEnYfwheuSS6ppLSHgFpLg7i2g499dz358XtMNbe hello.txt
10 B / 10 B [=====================================================================================================================================================================================================================] 100.00%
上面的文件add后并没有到Ipfs网络,可以通过本地访问 http://localhost:8080/ipfs/QmYXxGFEnYfwheuSS6ppLSHgFpLg7i2g499dz358XtMNbe
通过 "ipfs daemon“ 这个能自动同步结点数据,成功后就能通过外网访问 https://ipfs.io/ipfs/QmYXxGFEnYfwheuSS6ppLSHgFpLg7i2g499dz358XtMNbe
下载到本地
d:\mywork\ipfs>ipfs get QmYXxGFEnYfwheuSS6ppLSHgFpLg7i2g499dz358XtMNbe
Saving file(s) to QmYXxGFEnYfwheuSS6ppLSHgFpLg7i2g499dz358XtMNbe
18 B / 18 B [==============================================================================================================================================================
官网:https://docs.ipfs.io
汇智网:http://cw.hu bwiz.com/card/c/ipfs/1/1/1/
Ipfs基础入门的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- 「译」JUnit 5 系列:基础入门
原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...
- .NET正则表达式基础入门
这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...
- 从零3D基础入门XNA 4.0(2)——模型和BasicEffect
[题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...
- 从零3D基础入门XNA 4.0(1)——3D开发基础
[题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...
- Shell编程菜鸟基础入门笔记
Shell编程基础入门 1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...
- [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.
前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...
- [Spring框架]Spring AOP基础入门总结一.
前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...
- RobotFramework - 基础入门
Robot Framework Wiki HomePage Robot Framework User Guide Robot Framework documentation Robot Framewo ...
随机推荐
- debian apt-get 代理
一:在 /etc/apt/目录下建立 apt.conf 文件增加如下 Acquire::http::Proxy "http://proxyxxxxxxx:port"; 注意格式:最 ...
- shell 字符菜单管理
1.创建一个脚本func.sh 脚本如下func2.sh #!/bin/bash function menu(){ title="My Menu" url="www.la ...
- continue and break
#1.continue终止当前循环开始下一次循环count = 0while count < 10: if count == 7: count = count +1 continue print ...
- zz 机器学习系统或者SysML&DL笔记
机器学习系统或者SysML&DL笔记(一) Oldpan 2019年5月12日 0条评论 971次阅读 1人点赞 在使用过TVM.TensorRT等优秀的机器学习编译优化系统以及Py ...
- LG2766 最长不下降子序列问题 最大流 网络流24题
问题描述 LG2766 题解 \(\mathrm{Subtask 1}\) 一个求最长不下降子序列的问题,发现\(n \le 500\),直接\(O(n^2)\)暴力DP即可. \(\mathrm{S ...
- Python进阶-XII serialize(序列化)、序列化模块
一.serialize 序列化 1.什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在 ...
- 【day04】css
一.CSS2.0[Cascading Style Sheets]层叠样式表 1.什么是CSS:修饰网页元素(标记)外观(比如给文字加颜色,大小,字体)的,W3C规定尽量用CSS样式替代XHTML属性 ...
- B1042 字符统计 (20 分)
#include<cstdio> #include<iostream> #include<algorithm> #include<string> usi ...
- Nginx配置max_fails fail_timeout
目的: 通过配置max_fails.fail_timeout来达到当一台服务器访问出现非200时可以跳转到另一台服务器 操作: 配置nginx.conf文件 具体配置如下 upstream Site ...
- 关于i7 8700以上系列主机,安装虚拟机Win7下连接U盘,故障处理的补充说明
正如前文“虚拟机下怎么连接U盘,如何使用U盘?一策书(湘岳阳万江波)的随笔”所言,我在win10下的虚拟机win7(i7 9700),而且听说了是不支持Win7的,其原因是不支持USB的驱动问题. 我 ...