IPFS 上手试玩

· Read in about 1 min · (102 Words)
tool ipfs

关于IPFS

IPFS 是一个很宏大的理念,而不简单地是一个应用或一个文件系统。 它希望建立一个点对点的分布式文件系统,使用内容Hash地址代替原Web网络中的域名,来获取得相应的资源。

IPFS 说明文档对IPFS的介绍如下:

  • IPFS is a protocol
  • IPFS is a filesystem
  • IPFS is a web
  • IPFS is modular
  • IPFS uses crypto
  • IPFS is p2p
  • IPFS is a cdn
  • IPFS has a name service

当前IPFS虽经历了几年的开发,但仍处于很早期的阶段(go-ipfs/0.4.10 ipfs/0.1.0),所以未来可能会有比较大变化(也可能失败…)。

下载安装

IPFS 可以从官网下载,也可以从Github下载源代码进行编译安装。

如Linux进行安装IPFS的0.4.10版本,不同版本请自行修改下面的版本号

wget https://dist.ipfs.io/go-ipfs/v0.4.10/go-ipfs_v0.4.10_linux-amd64.tar.gz
tar xzvf go-ipfs_v0.4.10_linux-amd64.tar.gz
mv go-ipfs/ipfs /usr/local/bin/

基本使用

使用IPFS需要先进行初始化ipfs init,初始化目录一般为~/.ipfs目录,即当前用户HOME目录下的.ipfs目录。

  • 显示当前节点信息

    ipfs id
    

    如果守护进程启动后,会显示网络地址信息,否则只显示节点参数信息。

  • 添加文件(这里假设要添加文件readme.txt,其内容为readme)

    ipfs add readme.txt
    #added Qmc7m4k5KUtEbyrTVjP6k8cRt7C99Rhe28hqFThGgGgEof readme.txt
    

    当执行添加文件后,会给出添加文件的唯一Hash值。这个Hash值很重要,后面获取文件时就是依赖于这个值。

  • 查看文件(根据Hash值)

    ipfs cat /ipfs/Qmc7m4k5KUtEbyrTVjP6k8cRt7C99Rhe28hqFThGgGgEof
    # readme
    

    这里不仅仅是可以查看本地添加的文件内容,还可以查看其它IPFS使用者添加的文件(在联入IPFS网络后)。

  • 下载文件

    ipfs get /ipfs/Qmc7m4k5KUtEbyrTVjP6k8cRt7C99Rhe28hqFThGgGgEof
    # 下载文件到当前目录,文件名为Hash值
    
  • 列出文件(注意,这里只能对文件夹或者shard使用,和普通shell命令有区别)

    ipfs ls /ipfs/Qmc7m4k5KUtEbyrTVjP6k8cRt7C99Rhe28hqFThGgGgEof
    
  • 获取对象

    ipfs object get Qmc7m4k5KUtEbyrTVjP6k8cRt7C99Rhe28hqFThGgGgEof
    # 打印出文本内容
    

守护进程

运行ipfs daemon会运行起IPFS后台守护进程服务,这样可以与其它运行IPFS的节点连接,并将当前节点的数据发送到其它节点上。

运行服务后,会有一个Web服务,可以使用浏览器访问http://localhost:5001/webui这个网址看到。 这个网站会显示当前节点的基本信息,以及与当前节点连接的节点,简单的文件处理UI界面等。

参考资料

Comments