美文网首页
在Mac上安装并使用Go版本的IPFS

在Mac上安装并使用Go版本的IPFS

作者: 区块链_献哥 | 来源:发表于2018-03-07 11:54 被阅读0次

    IPFS(The InterPlanetary File System)是一个建立点到点的分布式文件存储的协议,跟它连接的计算设备都拥有相同的文件管理模式。这个概念跟互联网的最初理念很类似,但它是去中心化的。IPFS更像是互相转发Git目标的单个Bittorrent用户群。IPFS具备成为internet子系统的素质,通过合理配置可以完善甚至替代HTTP。我们以后会更详细的介绍。下面是安装一个Go版本的IPFS的流程。本文写的是如何在Mac上安装,但跟在Linux上的安装流程非常相似。

    安装的方式很多,我们可以直接下载编译好的程序。这里介绍的是直接下载GO源码。Go的安装就不详细介绍了,大家可以看这里:下载 Go 1.9+.

    首先要在本机上设置好GOPATH,并且将GOPATH/bin加到PATH中。

    vi ~/.bash_profile
    

    在文件末尾加上这两句:

    export GOPATH="/Users/rfu/go"
    export PATH=$PATH:$GOPATH/bin
    

    然后调用一下

    . ~/.bash_profile
    

    下载并安装IPFS源码。

    go get -u -d github.com/ipfs/go-ipfs
    cd $GOPATH/src/github.com/ipfs/go-ipfs
    make install
    

    缺省IPFS路径是 ~/.ipfs。

    开始调试IPFS

    ipfs init
    

    查看

    ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
    Hello and Welcome to IPFS!
    
    ██╗██████╗ ███████╗███████╗
    ██║██╔══██╗██╔════╝██╔════╝
    ██║██████╔╝█████╗  ███████╗
    ██║██╔═══╝ ██╔══╝  ╚════██║
    ██║██║     ██║     ███████║
    ╚═╝╚═╝     ╚═╝     ╚══════╝
    
    If you're seeing this, you have successfully installed
    IPFS and are now interfacing with the ipfs merkledag!
    
     -------------------------------------------------------
    | Warning:                                              |
    |   This is alpha software. Use at your own discretion! |
    |   Much is missing or lacking polish. There are bugs.  |
    |   Not yet secure. Read the security notes for more.   |
     -------------------------------------------------------
    
    Check out some of the other files in this directory:
    
      ./about
      ./help
      ./quick-start     <-- usage examples
      ./readme          <-- this file
      ./security-notes
    

    把一个文件夹中全部文件加到IPFS中。

    ipfs add -r .
    # 查看刚刚加的文件
    ipfs ls QmPiZzFRVVs7JNjJpx2f313ke3T9rwNugmKKaTEK7jNdJP
    
    ipfs daemon
    ipfs swarm peer
    

    打开浏览器看文件
    localhost:8080/ipfs/QmPiZzFRVVs7JNjJpx2f313ke3T9rwNugmKKaTEK7jNdJP
    https://gateway.ipfs.io/ipfs/QmPiZzFRVVs7JNjJpx2f313ke3T9rwNugmKKaTEK7jNdJP

    打开本地ipfs浏览器。
    http://127.0.0.1:5001/webui

    为了方便后续前端的开发和数据访问,提前对跨域资源共享CORS进行配置,ctrl+c 退出ipfs,然后按照下面的步骤进行跨域配置:

    ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST", "OPTIONS"]'
    ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
    

    (为了做ipfs mount,尝试了各种在Mac上装osxfuse,没有成功。)
    Download osxfuse
    or
    brew cask install osxfuse

    vi ~/.ipfs/config
    Replace "DontCheckOSXFUSE": true, to "DontCheckOSXFUSE": "true",
    ## the following line will not work.
    ipfs config DontCheckOSXFUSE true
    ipfs mount
    ls /ipfs
    

    如果要将ipfs daemon停止,可以用ctrl+c或者

    ps -ef | grep ipfs
    kill -9 [pid]
    

    IPFS单机版学会玩了吗?接下来就可以学习怎样使用集群版了。

    相关文章

      网友评论

          本文标题:在Mac上安装并使用Go版本的IPFS

          本文链接:https://www.haomeiwen.com/subject/axbdfftx.html