4.2 IPFS基本安装使用

  1. 安装 
    1. IPFS获取 
      1. https://docs.ipfs.io/introduction/install/
    2. 安装 
      1. sudo tar -zxvf go-ipfs_v0.4.17_freebsd-amd64.tar.gz -C /usr/local/bin/
      2. sudo ln -s /usr/local/bin/go-ipfs/ipfs /usr/bin/ipfs
  2. 项目配置 
    1. 创建ipfs节点 : ipfs init
    2. 查看 
      1. 进入指定ipfs目录:cd ~/.ipfs
      2. 设置EDITOR环境变量:export EDITOR=/usr/bin/vim
      3. 查看配置:ipfs config edit 
        4 查看节点id:ipfs id
      4. 启动节点服务:ipfs daemon
      5. 添加跨域资源共享配置 
        1. ipfs config –json API.HTTPHeaders.Access-Control-Allow-Methods ‘[“PUT”,”GET”,”POST”,”OPTIONS”]’
        2. ipfs config –json API.HTTPHeaders.Access-Control-Allow-Origin ‘[“*”]’
      6. 验证 
        1. 启动服务器 ipfs daemon
        2. 执行命令(新建终端) : ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
        3. 进入浏览器 输入http://localhost:5001/webui
  3. 在IPFS中新增文件 
    a. 新建文件 test.txt 
    b. 写入内容 
    c. ipfs add test.txt 
    d. 同步到网络:ipfs daemon 
    e. 通过ipfs数据浏览器查看 :http://ipfs.io/ipfs/hash
  4. 通过IPFS创建目录存储文件 
    a. 创建目录:ipfs files mkdir /troytan 
    b. 拷贝文件:ipfs files cp /ipfs/hash… /troytan/test.txt 
    c. 查看目录内容:ipfs files ls /troytan/ 
    d. 查看拷贝的文件内容:ipfs files read /troytan/test.txt
  5. 在IPFS上新增目录 
    a. 上传整个目录:ipfs add -r ipfsdir/ 
    b. 通过路径访问上传目录中指定文件的数据 
    i. 方法一:cat QmTh1dT71hbPQoPZSbEMGUjyxVfDPJwqF9F4XMq4NV3ihS(指定文件的散列) 
    ii. 方法二:cat /ipfs/QmTh1dT71hbPQoPZSbEMGUjyxVfDPJwqF9F4XMq4NV3ihS(指定文件的散列) 
    iii. 方法三:ipfs cat /ipfs/QmaLHrL8kG5LbWRTLisVxpirhCDiUhpaGUGZuicvyoJifE/new.txt(此处的散列是目录的散列)
  6. 通过Hash查看IPFS网络数据 
    a. 通过目录访问文件:https://ipfs.io/ipfs/QmaLHrL8kG5LbWRTLisVxpirhCDiUhpaGUGZuicvyoJifE/new.txt(此处是目录的散列) 
    b. 通过hash直接访问文件:https://ipfs.io/ipfs/QmTh1dT71hbPQoPZSbEMGUjyxVfDPJwqF9F4XMq4NV3ihS
  7. 创建简易网页发布到IPFS
    1. 新建html与css
    2. 添加到ipfs:ipfs add -r site/
    3. 网络同步:ipfs daemon
    4. 访问数据: http://ipfs.io/ipfs/hash…(此处的哈希是目录的哈希)
    5. 发布到IPNS:在我们修改网站内容并重新添加到ipfs时,hash会发生变化,当我们的网站更新时,我们可以将网站发布到IPNS,在IPNS中,允许我们节点域名空间中引用一个IPFS HASH,也就是说我们可以通过节点ID对项目的根目录的IPFS HASH进行绑定,后面我们访问网站时直接通过节点ID访问即可,当我们更新博客时,重新发币到IPNS即可。
      1. 发布方式:ipfs name publish hash,此处返回节点ID
      2. 验证:检查返回的节点ID和我们自己查找的这个节点ID是否一致
      3. 访问IPNS:https://ipfs.io/ipns/QmcmnKk8Ydzrwh6KxQzXdNgbGdpeGZs4htakaYvMDn7FgU(节点ID)
  8. 发布个人博客 
    1. 搭建静态博客(Hugo) 
    1. 安装hugo:sudo apt-get install hugo 
    2. 查检安装结果:hugo version 
    3. 新建:hugo new site troytan 
    4. 添加主题: 
    1. git init 
    2. git submodule add https://github.com/themefisher/navigator-hugo.git 
    3. echo ‘theme = “navigator-hugo”’ >> config.toml 
    5. 添加内容 
    1. hugo new posts/my-first-post.md 
    2. hugo server -D 
    2. 替换节点ID(如果有) 
    3. 重复步骤七

 

4.2 IPFS基本安装使用