Ipfs介绍

Ipfs(Inter-Planetary File System!),中文译为星际网络文件系统,是基于默克尔有向无环图(merkle dag)的全球性p2p文件系统。

是一个面向全球的,点对点的分布式文件系统 。用基于内容的地址替代基于域名的地址(HTTP)。能提供比传统HTTP更稳定,更安全的服务。

Ipfs安装

系统:windows 10

Go:1.11.1

ipfs的安装有几种方式:

  1. 已经预编译好的包(推荐)
  2. 通过ipfs-update
  3. 源码安装

我这里用的是第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基础入门的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. 「译」JUnit 5 系列:基础入门

    原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...

  3. .NET正则表达式基础入门

    这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...

  4. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

  5. 从零3D基础入门XNA 4.0(1)——3D开发基础

    [题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...

  6. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  7. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

  8. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  9. RobotFramework - 基础入门

    Robot Framework Wiki HomePage Robot Framework User Guide Robot Framework documentation Robot Framewo ...

随机推荐

  1. 3-8 pivot操作

      数据透视表¶ In [1]: import pandas as pd excelample=pd.DataFrame({'Month':["January","Jan ...

  2. openstack 创建实例报错 **aborted: Failed to allocate the network(s), not rescheduling

    消息 Build of instance 6320b5f2-edc2-4e8e-b07c-0047f7ed8f6a aborted: Failed to allocate the network(s) ...

  3. requests---HTTPS请求

    做过接口测试的都会发现,现在的接口都是HTTPS协议了,今天就写一篇如何通过request发送https请求,如果不是很了解HTTP协议的同学可以看下我的另外一篇博客什么是HTTP 什么是HTTPS ...

  4. constant timer(固定定时器),constant throughput timer(常数吞吐量定时器);多个请求,某个请求a下,设置常数吞吐量定时器,模式:all active threads(shared)则所有请求吞吐量一致;

    1.两请求之间添加'固定定时器' 1000ms,那么两请求发送间隔时间是多少? 1000ms吗? 由实验得出,2个请求发送间隔时间 = 1000ms + 第一个请求时间(发出至完成后时间) 2.单个请 ...

  5. Pytorch 使用不同版本的 cuda

    由于课题的原因,笔者主要通过 Pytorch 框架进行深度学习相关的学习和实验.在运行和学习网络上的 Pytorch 应用代码的过程中,不少项目会标注作者在运行和实验时所使用的 Pytorch 和 c ...

  6. android onActivityResult不被回调或窗体弹出后即补回调的解决办法

    假设从A窗体弹出B窗体,则在AndroidManifest.xml文件中,B不能有:android:launchMode="singleTask“属性,否则,A窗体里的onActivityR ...

  7. Git 克隆远程仓库到本地

    Git 克隆远程仓库到本地 参考 $ git clone --help https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7% ...

  8. 【Spring IoC】依赖注入DI(四)

    平常的Java开发中,程序员在某个类中需要依赖其它类的方法.通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想,即依赖类不由程 ...

  9. LeetCode 241. Different Ways to Add Parentheses为运算表达式设计优先级 (C++)

    题目: Given a string of numbers and operators, return all possible results from computing all the diff ...

  10. jsp中for-each应用(遍历数据相乘再相加)