IPFS基本使用

來源:互聯網
上載者:User

在IPFS新增一個檔案

建立test.txt檔案

開啟終端,切換到案頭,建立一個檔案夾test,切換到test中,通過vi建立一個檔案test.txt,檔案裡面輸入Hello World儲存並且退出。

$ cd Desktop/$ mkdir test$ cd test/$ vi test.txt$ cat test.txtHello World

將test.txt添加到ipfs節點

使用ipfs add命令添加:

$ cd Desktop/test$ ipfs add test.txtadded QmUXTtySmd7LD4p6RG6rZW6RuUuPZXTtNMmRQ6DSQo3aMw test.txt$ ipfs cat QmUXTtySmd7LD4p6RG6rZW6RuUuPZXTtNMmRQ6DSQo3aMwHello World
  1. 執行ipfs add test.txt命令將test.txt添加到ipfs當前的節點中;
  2. 添加到節點之後,會對test.txt檔案產生一個唯一hash QmUXTtySmd7LD4p6RG6rZW6RuUuPZXTtNMmRQ6DSQo3aMw
  3. 通過ipfs cat QmUXTtySmd7LD4p6RG6rZW6RuUuPZXTtNMmRQ6DSQo3aMw命令進行查看。

    ️:資料已經添加到當前本地的ipfs節點中,但是並沒有同步到ipfs網路,所以還需同步到ipfs 網路。

  4. 同步節點,建立一個終端,執行ipfs daemon命令。

    $ ipfs daemonInitializing daemon...Successfully raised file descriptor limit to 2048.Swarm listening on /ip4/127.0.0.1/tcp/4001Swarm listening on /ip4/192.168.17.52/tcp/4001Swarm listening on /ip6/::1/tcp/4001Swarm listening on /p2p-circuit/ipfs/QmZXXApnUUTD75bph88eNii3Sc97fiumTX7AMBv5CKHGdfSwarm announcing /ip4/127.0.0.1/tcp/4001Swarm announcing /ip4/192.168.17.52/tcp/4001Swarm announcing /ip6/::1/tcp/4001API server listening on /ip4/127.0.0.1/tcp/5001Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080Daemon is ready
  5. 瀏覽器訪問https://ipfs.io/ipfs/QmUXTtySmd7LD4p6RG6rZW6RuUuPZXTtNMmRQ6DSQo3aMw,顯示資料為Hello World,說明已經同步至ipfs網路

通過IPFS建立目錄

通過ipfs files的相關命令在ipfs的根目錄下面建立檔案夾,並且將test.txt檔案移動或者拷貝到我們建立的檔案夾中。

$ ipfs files mkdir /Jisen$ ipfs files cp /ipfs/QmUXTtySmd7LD4p6RG6rZW6RuUuPZXTtNMmRQ6DSQo3aMw /Jisen/test.txt$ ipfs files lsJisen$ ipfs files ls /Jisentest.txt$ ipfs files read /Jisen/test.txtHello World

️:cp不會改變檔案hash,mv會改變hash定址。

在IPFS新增一個目錄

  1. 使用ipfs add -r可以上傳一整個目錄

    $ ipfs add -r ipfs-testadded QmRkk3DQWpJ6A98NJr75fXLeX6GT3Hk3Mmqir6kRWvb3ZP ipfs-test/cryptowallet.pngadded QmZbi1n5wBUx1mx8azhuhBpEq2fewFexrHmRXLeWHofZ7h ipfs-test/dribble_ill.pngadded QmRNFmmrD9yFMn9EP4AiUZmqj9nnmrLQz9q3qHo2u9w7tT ipfs-test/ipfs_test.txtadded QmabKwXZfpT8uZvJRKKW7fHN3Rg5ZjuRMPFnSc1VzMQ7ao ipfs-test
  2. 通過路徑訪問ipfs_test.txt檔案資料

    $ ipfs cat QmRNFmmrD9yFMn9EP4AiUZmqj9nnmrLQz9q3qHo2u9w7tTWelcome IPFS!$ ipfs cat /ipfs/QmRNFmmrD9yFMn9EP4AiUZmqj9nnmrLQz9q3qHo2u9w7tTWelcome IPFS!$ ipfs cat /ipfs/QmabKwXZfpT8uZvJRKKW7fHN3Rg5ZjuRMPFnSc1VzMQ7ao/ipfs_test.txtWelcome IPFS!
  3. 通過Hash查看資料IPFS網路資料

    • 訪問目錄:https://ipfs.io/ipfs/QmabKwXZfpT8uZvJRKKW7fHN3Rg5ZjuRMPFnSc1VzMQ7ao
    • 通過目錄訪問檔案:https://ipfs.io/ipfs/QmabKwXZfpT8uZvJRKKW7fHN3Rg5ZjuRMPFnSc1VzMQ7ao/ipfs_test.txt
    • 通過檔案hash直接存取:https://ipfs.io/ipfs/QmRNFmmrD9yFMn9EP4AiUZmqj9nnmrLQz9q3qHo2u9w7tT

發布簡易網頁到IPFS

建立一個site檔案夾,然後按照下面的步驟在site檔案夾中建立index.htmlstyle.css檔案。

  1. 建立一個index.html檔案

    <!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Hello IPFS!</title>  <link rel="stylesheet" href="./style.css" /></head><body>  <h1>Hello IPFS!</h1></body></html>
  2. 建立一個style.css檔案

    h1 {  color: green;}
  3. 添加到ipfs

    $ ipfs add -r site/added QmS4a85WLxie6Zy6Tntg6CccyGHyV4823Vo1vkjGBYhetP site/index.htmladded QmZL2UBTwnhcLv66fARL9UV8W8a9ZA4iwTLcaUCsB1u1yW site/style.cssadded QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX site
  4. 網路同步

    $ ipfs daemon
  5. 訪問網站:https://ipfs.io/ipfs/QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX

發布到IPNS

修改網頁內容重新添加到ipfs時,hash會發生變化,這時我們可以將網頁發布到IPNS,在IPNS中,允許我們節點的網域名稱空間中引用一個IPFS hash,也就是說我們可以通過節點ID對項目根目錄的IPFS HASH進行綁定,以後我們訪問網頁時直接通過節點ID訪問即可,當我們更新網頁時,重新發布到IPNS即可。

$ ipfs name publish QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxXPublished to QmZXXApnUUTD75bph88eNii3Sc97fiumTX7AMBv5CKHGdf: /ipfs/QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX$ ipfs id{    "ID": "QmZXXApnUUTD75bph88eNii3Sc97fiumTX7AMBv5CKHGdf"    ......}

當我們執行ipfs name publish命令時,會返回我們的節點ID,你可以通過ipfs id進行查看驗證是否是你的節點ID。

️:驗證

$ ipfs name resolve QmZXXApnUUTD75bph88eNii3Sc97fiumTX7AMBv5CKHGdf/ipfs/QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX

接下來,就可以通過IPNS進行訪問了:https://ipfs.io/ipns/QmZXXApnUUTD75bph88eNii3Sc97fiumTX7AMBv5CKHGdf

️:訪問的時候注意上面連結是ipns而不是ipfs

最後需要️:如果網站資料修改,需要重新發布到IPNS

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.