Ipfs基础入门

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/

posted @ 2018-12-21 18:23  随彦心MO  阅读(682)  评论(0编辑  收藏  举报