zoukankan      html  css  js  c++  java
  • IPFS的配置安装

    目录

    • 1. IPFS简介
    • 2. IPFS本地环境安装
      • 2.1 下载ipfs压缩包
      • 2.2 安装
    • 3. 项目配置
      • 3.1 创建ipfs节点
      • 3.2 修改节点默认存储空间
      • 3.3 查看节点id
      • 3.4 启动节点服务器
      • 3.5 跨域资源共享CORS配置
      • 3.6 验证

    1. IPFS简介

    IPFS(InterPlanetary File System)是一个点对点的分布式超媒体分发协议,它整合了过去几年最好的分布式系统思路,为所有人提供全球统一的可寻址空间,包括Git、自证明文件系统SFSBitTorrentDHT,同时也被认为是最有可能取代HTTP的新一代互联网协议。

    IPFS用基于内容的寻址替代传统的基于域名的寻址,用户不需要关心服务器的位置,不用考虑文件存储的名字和路径。我们将一个文件放到IPFS节点中,将会得到基于其内容计算出的唯一加密哈希值。哈希值直接反映文件的内容,哪怕只修改1比特,哈希值也会完全不同。当IPFS被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。

    IPFS是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。IPFS的网络是不固定的、细粒度的、分布式的网络,可以很好的适应内容分发网络的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有静态网站。

    协议实现
    Go、JavaScript、Python
    客户端库:Go、Java、JavaScript、Python、Scala、Haskell、Swift、CommonLisp、Rust、Ruby、Swift、PHP、C#

    IPFS提供了一个友好的WEB访问接口,用户可通过http://ipfs.io/hash

    获取IPFS网络中的内容,也许在不久的将来,IPFS协议将会彻底替代传统的HTTP协议。

    2. IPFS本地环境安装

    2.1 下载ipfs压缩包

    2.2 安装

    liyuechun:Downloads yuechunli$ pwd
    /Users/liyuechun/Downloads
    liyuechun:Downloads yuechunli$ ls
    go-ipfs_v0.4.10_darwin-amd64.tar.gz
    liyuechun:Downloads yuechunli$ tar xvfz go-ipfs_v0.4.10_darwin-amd64.tar.gz 
    x go-ipfs/build-log
    x go-ipfs/install.sh
    x go-ipfs/ipfs
    x go-ipfs/LICENSE
    x go-ipfs/README.md
    liyuechun:Downloads yuechunli$ ls
    go-ipfs                 go-ipfs_v0.4.10_darwin-amd64.tar.gz
    liyuechun:Downloads yuechunli$ cd go-ipfs
    liyuechun:go-ipfs yuechunli$ ls
    LICENSE     README.md   build-log   install.sh  ipfs
    liyuechun:go-ipfs yuechunli$ mv ipfs /usr/local/bin/ipfs

    tar xvfz go-ipfs_v0.4.10_darwin-amd64.tar.gz文件解压。

    mv ipfs /usr/local/bin/ipfs,将已解压的文件夹中的ipfs文件移动到/usr/local/bin/文件夹中。

    3. 项目配置

    3.1 创建ipfs节点

    为了运行项目,我们需要通过ipfs init在本地计算机建立一个IPFS节点。

    localhost:.ipfs yuechunli$ cd ~/.ipfs
    -bash: cd: /Users/liyuechun/.ipfs: No such file or directory
    localhost:.ipfs yuechunli$ ipfs init
    initializing IPFS node at /Users/liyuechun/.ipfs
    generating 2048-bit RSA keypair...done
    peer identity: QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP
    to get started, enter:
    
        ipfs cat /ipfs/QmVLDAhCY3X9P2uRudKAryuQFPM5zqA3Yij1dY8FpGbL7T/readme
    
    localhost:.ipfs yuechunli$ cd ~/.ipfs
    localhost:.ipfs yuechunli$ ls
    blocks      datastore   version
    config      keystore
    localhost:.ipfs yuechunli$ open ./
    localhost:.ipfs yuechunli$

    3.2 修改节点默认存储空间

    执行完ipfs init命令后,会在根目录生成一个.ipfs的文件夹存储节点数据。.ipfs节点默认存储空间为10个G

    如果你自己想修改节点默认存储空间,可打开终端执行下面的命令。

    localhost:.ipfs yuechunli$ export EDITOR=/usr/bin/vim
    localhost:.ipfs yuechunli$ ipfs config edit

    执行完ipfs config edit命令后会打开一个文件,在这个文件中找到下图中春哥「微信:liyc1215」绘制红线的位置,将10GB修改成你自己想要的存储空间。修改完毕,保存退出。(PS:输入i可以开始编辑,编译完毕后按esc键,再输入:,再次输入wq保存并且退出)。

    3.3 查看节点id

    localhost:.ipfs yuechunli$ ipfs id 
    {
        "ID": "QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP",
        "PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDqJlLivZerwIYTI5K8pEzbRnmNti3rObvpa17AixKpgTPnWAvPmZr1SLBzYUjpy3coymLHkNldcEZixnWTIihKIF1pVhxJG2MzFg8vHnG7uF8vxyYE4wOZ6V4rTauYbGau1Tj/TSjzI9oKOoezitTn6ggD3p2Y6Y1/FWGRfAvG7UUBFXSMtwVkwM/F0aaP2k8vHgsZDeYLY8UCpq67dC+AgbVNieLrX/tht6D7iTYS5Ch5dMIpwxMdRLkrNx8k9CVFgvnILhdTJL4QfdNA4L5FnWJy3axhj6bRdVkBpcdgn2WAHxYW6FwkB/eFSKxwNCKsO2/C52mUNNMouN2XlObTAgMBAAE=",
        "Addresses": null,
        "AgentVersion": "go-ipfs/0.4.10/",
        "ProtocolVersion": "ipfs/0.1.0"
    }
    localhost:.ipfs yuechunli$

    QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP为你的节点ID每个节点都会有一个唯一的ID

    3.4 启动节点服务器

    localhost:.ipfs yuechunli$ ipfs daemon
    Initializing daemon...
    Adjusting current ulimit to 2048...
    Successfully raised file descriptor limit to 2048.
    Swarm listening on /ip4/111.196.241.208/tcp/7723
    Swarm listening on /ip4/127.0.0.1/tcp/4001
    Swarm listening on /ip4/192.168.0.107/tcp/4001
    Swarm listening on /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
    Daemon is ready

    3.5 跨域资源共享CORS配置

    为了后续的开发方便,我们还需要对跨域资源共享( CORS )进行配置,ctrl- c退出ipfs,然后按照下面的步骤进行跨域配置。

    • 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 '["*"]'

    3.6 验证

    • 启动服务器
    $ ipfs daemon
    • 新建终端执行下面的命令
    ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
    localhost:~ yuechunli$ ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/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
    localhost:~ yuechunli$
    • 浏览器输入下面的网址

    打开http://localhost:5001/webui会看到一个漂亮的UI界面。

    转载自 https://www.jianshu.com/p/dd5727130504

  • 相关阅读:
    Spring整合MyBatis(一)MyBatis独立使用
    Spring AOP源码分析(三)创建AOP代理
    Spring AOP源码分析(二)动态A0P自定义标签
    Spring AOP源码分析(一)使用示例
    JDK(十)JDK1.7&1.8源码对比分析【集合】ConcurrentHashMap
    JDK(九)JDK1.7源码分析【集合】HashMap的死循环
    JDK(八)JDK1.7&1.8源码对比分析【集合】HashMap
    MySQL(五)SELECT语句执行顺序
    版本控制器:SVN
    springmvc
  • 原文地址:https://www.cnblogs.com/qiyecao/p/9283472.html
Copyright © 2011-2022 走看看