• IPFS命令


    IPFS命令

    1、查看通信ID信息

    查看你的通信ID信息:ipfs id

    [root@ipfs1 ~]# ipfs id
    {
            "ID": "QmPQ3b1DCz9Qvm127WGwreGGXib9bD9g7vJwYZPBnmM2ph",
            "PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5te4oXeeEhktWN7vrT5JoGYYB+jAWASzlGhzIUuIRevybpdRkBV0eGTIlFDJm9+WCZFDZaGuLfC2W1fzd6RMP/ZpXwiSmTLojIzfIVf3aXpRZeNxl464NXA796MIi0CwepnRBajQoGkB/fLhmoq6gij5SiWIUmwZ19/rJ9h0h8O3qQp3tX+N6PXKp+3EjbwUflLp6aq8Q4+PifOghhP7JU7ysPsrzEvKhnmupujUBkoLl4ZISNt3mL/JosFQiM1JIBhrJd6ZPunzuu6M75XztSKxUDw4kDwJyMBGmMMDD4/apaZyFWo66r4tKyCS+CuWTZ/6c5NKAFy7GwaXSUec7AgMBAAE=",
            "Addresses": [               "/ip4/127.0.0.1/tcp/4001/p2p/QmPQ3b1DCz9Qvm127WGwreGGXib9bD9g7vJwYZPBnmM2ph",         "/ip4/192.168.85.121/tcp/4001/p2p/QmPQ3b1DCz9Qvm127WGwreGGXib9bD9g7vJwYZPBnmM2ph",
    "/ip6/::1/tcp/4001/p2p/QmPQ3b1DCz9Qvm127WGwreGGXib9bD9g7vJwYZPBnmM2ph",
    "/ip4/127.0.0.1/udp/4001/quic/p2p/QmPQ3b1DCz9Qvm127WGwreGGXib9bD9g7vJwYZPBnmM2ph",
    "/ip4/192.168.85.121/udp/4001/quic/p2p/QmPQ3b1DCz9Qvm127WGwreGGXib9bD9g7vJwYZPBnmM2ph",
    "/ip6/::1/udp/4001/quic/p2p/QmPQ3b1DCz9Qvm127WGwreGGXib9bD9g7vJwYZPBnmM2ph"
            ],
            "AgentVersion": "go-ipfs/0.6.0/",
            "ProtocolVersion": "ipfs/0.1.0"
    }
    

    2、查看配置信息

    输入ipfs config show,可以查看配置信息

    export EDITOR=/usr/bin/vim
    ipfs config edit           - 在环境变量`$EDITOR`指定的编辑器中编辑配置文件
    ipfs config replace <file> - 使用`<file>`指定的文件替代当前配置文件
    ipfs config show           - 显示当前配置文件的内容
    
    [root@ipfs1 ~]# ipfs config show
    {
      "API": {
        "HTTPHeaders": {
          "Access-Control-Allow-Methods": [
            "PUT",
            "POST"
          ],
          "Access-Control-Allow-Origin": [
            "http://192.168.85.121:5001",
            "http://127.0.0.1:5001",
            "https://webui.ipfs.io"
          ]
        }
      },
      "Addresses": {
        "API": "/ip4/0.0.0.0/tcp/5001",
        "Announce": [],
        "Gateway": "/ip4/0.0.0.0/tcp/8080",
        "NoAnnounce": [],
        "Swarm": []
    

    3、添加文件:

    ipfs add <filename>

    [root@ipfs1 go-ipfs]# ipfs add aa.txt
    added QmQQT3P1mc24qFeQMC9cfRn6TJL3rC6A8YzdwhW9XvoZRQ aa.txt
     53 B / 53 B [==================================================================================================] 100.00%[
    

    4、查看文件:

    ipfs cat <hash>

    [root@ipfs1 go-ipfs]# ipfs cat QmQQT3P1mc24qFeQMC9cfRn6TJL3rC6A8YzdwhW9XvoZRQ
    或者
    [root@ipfs1 go-ipfs]# ipfs cat /ipfs/QmQQT3P1mc24qFeQMC9cfRn6TJL3rC6A8YzdwhW9XvoZRQ
    hash: QmRqSJ8ckhFtTAx5pVNEMFxPC4JWWoThJbVTCAViWPX5Bf
    

    5、下载文件

    ipfs get <哈希值>

    [root@ipfs1 go-ipfs]# ipfs get QmQQT3P1mc24qFeQMC9cfRn6TJL3rC6A8YzdwhW9XvoZRQ
    Saving file(s) to QmQQT3P1mc24qFeQMC9cfRn6TJL3rC6A8YzdwhW9XvoZRQ
     53 B / 53 B [===============================================================================================] 100.00% 0s
    

    6、文件夹操作

    [root@ipfs1 go-ipfs]# ipfs files --help
    ipfs files cp <source> <dest>  - 将文件拷贝到mfs中
    ipfs files flush [<path>]      - 将指定路径的数据刷新到磁盘
    ipfs files ls [<path>]         - 列表显示本地可变命名空间中的目录
    ipfs files mkdir <path>        - 创建目录
    ipfs files mv <source> <dest>  - 移动文件
    ipfs files read <path>         - 读取指定mfs中的文件
    ipfs files rm <path>...        - 删除指定文件
    ipfs files stat <path>         - 显示文件状态
    ipfs files write <path> <data> - 写入指定文件系统中的可变文件
    

    7、创建一个文件夹和查看文件:

    [root@ipfs1 go-ipfs]# ipfs files mkdir /test
    [root@ipfs1 go-ipfs]# ipfs files ls
    1.json
    2.json
    test
    

    8、ipfs上传整个目录

    [root@ipfs1 go-ipfs]# mkdir test_content
    [root@ipfs1 go-ipfs]# cd test_content
    [root@ipfs1 test_content]# cat >file2.txt
    12132
    ^C
    [root@ipfs1 test_content]# cat >file1.txt
    dsffsfds
    ^C
    [root@ipfs1 test_content]# ll
    总用量 8
    -rw-r--r--. 1 root root 9 11月 28 11:59 file1.txt
    -rw-r--r--. 1 root root 6 11月 28 11:59 file2.txt
    
    [root@ipfs1 go-ipfs]# ipfs add -r test_content/
    added Qmf7tj1ZbKobAvT54475ZLyo3szpu647w5v8npvimStfwm test_content/file1.txt
    added QmW1sGk9yCuqj1biWCxbTwQMPaDep6hJKpuGmiGazrUQze test_content/file2.txt
    added QmRf4pqzytgygZWwTftLxv17i5TYcBURwjjNbt3HvYe6TJ test_content
     15 B / 15 B [=========================================================================] 100.00%
     
     [root@ipfs1 go-ipfs]# ipfs ls QmRf4pqzytgygZWwTftLxv17i5TYcBURwjjNbt3HvYe6TJ
    Qmf7tj1ZbKobAvT54475ZLyo3szpu647w5v8npvimStfwm 9 file1.txt
    QmW1sGk9yCuqj1biWCxbTwQMPaDep6hJKpuGmiGazrUQze 6 file2.txt
    

    9、查看连接到的对等结点:

    ipfs swarm peers
    

    10、ipfs pin 使用

    ipfs pin 原理

    每个文件块都有自己的 pin 状态,由 pin 管理器 Pinner 进行管理。

    ipfs 在做 GC 等操作时,会根据每个文件块在 pin 状态,对其做出相应的处理。

    文件块 的 5 种 Pin 状态

    Recursive 状态

    文件块树被递归添加到 pin 中,根文件块的状态是 Recursive,非根文件块的状态是 Indirect

    Direct 状态

    只有目标文件块添加到 pin 中, 子孙块不做处理,目标文件块的状态就是 Direct

    Indirect 状态

    文件块树被递归添加到 pin 中,根文件块的状态是 Recursive,非根文件块的状态是 Indirect

    Internal 状态

    ipfs 使用文件块来保存 pinner 状态,这些文件块的状态就是 Internal

    NotPinned 状态

    文件块没有被 pin,在 GC 时会被删除

    列出所有的pin块

    [root@ipfs1 local]# ipfs pin ls
    QmRf4pqzytgygZWwTftLxv17i5TYcBURwjjNbt3HvYe6TJ recursive
    QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn recursive
    QmYCvbfNbCwFR45HiNP45rwJgvatpiW38D961L5qAhUM5Y indirect
    Qmf7tj1ZbKobAvT54475ZLyo3szpu647w5v8npvimStfwm indirect
    QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB indirect
    QmQGiYLVAdSHJQKYFRTJZMG4BXBHqKperaZtyKGmCRLmsF indirect
    QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc recursive
    QmQQT3P1mc24qFeQMC9cfRn6TJL3rC6A8YzdwhW9XvoZRQ recursive
    QmejvEPop4D7YUadeGqYWmZxHhLc4JBUCzJJHWMzdcMe2y indirect
    QmQ5vhrL7uv6tuoN9KeVBwd4PwfQkXdVVmDLUZuTNxqgvm indirect
    QmQy6xmJhrcC5QLboAcGFcAE1tC8CrwDVkrHdEYJkLscrQ indirect
    QmU5k7ter3RdjZXu3sHghsga1UQtrztnQxmTL22nPnsu3g indirect
    QmW1sGk9yCuqj1biWCxbTwQMPaDep6hJKpuGmiGazrUQze indirect
    

    11、列出 pin 为指定状态的块

    ipfs pin ls -t direct
    ipfs pin ls -t indirect
    ipfs pin ls -t recursive
    

    12、增加

    递归 pin

    ipfs pin add QmZ98HahPRKRcfoYoJchZNKzFxSHFWw6WxvQc1hpFEoFca
    

    直接 pin(只 pin 指定 hash 的文件块)

    ipfs pin add --recursive=false QmZ98HahPRKRcfoYoJchZNKzFxSHFWw6WxvQc1hpFEoFca
    

    13、移除

    递归从 pin 中移除

    ipfs pin rm QmZ98HahPRKRcfoYoJchZNKzFxSHFWw6WxvQc1hpFEoFca
    

    直接从 pin 中移除

    ipfs pin rm --recursive=false QmZ98HahPRKRcfoYoJchZNKzFxSHFWw6WxvQc1hpFEoFca
    

    14、ipfs bootstrap – 管理启动引导节点

    ipfs bootstrap命令用来显示或编辑引导节点列表。

    ./ipfs-cluster-service daemon  --bootstrap /ip4/192.168.85.121/tcp/9096/p2p/12D3KooWEXZufrecFd6CUHYgEAC9VmHX3WTqY72Qs7q6eYCrXNEr
    
    ipfs bootstrap add [<peer>]... - 将一个或多个节点添加到引导列表
    ipfs bootstrap list            - 显示引导列表中的节点
    ipfs bootstrap rm [<peer>]...  - 从引导列表中删除一个或多个节点
  • 相关阅读:
    第一个Servlet项目(IDEA)
    Web交互基本流程以及HTTP协议详解
    mybatis中Mapper.xml配置详解
    认识mybatis
    SpringAOP
    Spring AOP
    70. Climbing Stairs
    位运算
    Leetcode分类
    21. Merge Two Sorted Lists
  • 原文地址:https://www.cnblogs.com/Horsonce/p/16798448.html
Copyright © 2020-2023  润新知