go-ipfs入門及介紹


1、go-ipfs安裝

 

參考:

 

https://mp.weixin.qq.com/s?__biz=MzUwOTE3NjY3Mw==&mid=2247483734&idx=1&sn=ef73c1d7b796ccfc2dae19be25ee04d6&chksm=f9177f58ce60f64edb3ea928d3a9984e1caf22b67143bab56c400e353a16e44c2de08ff78ce6&scene=21#wechat_redirect

https://dist.ipfs.io/#go-ipfs(需翻牆)下載IPFS的go語言版本實現,或者https://pan.baidu.com/s/1XivzokWIMIy9MwAUUpOBQg(32位)https://pan.baidu.com/s/1H9DRYZLKmGvdEzP0-DzjJA(64位)下載鏡像文件,文件下載完成后解壓即可。

將解壓縮后的文件夾路徑設置到windows環境變量PATH中,即可在命令行中使用ipfs命令,或者cd到該文件夾后執行ipfs命令。

 

運行命令:ipfs init

初始化配置ipfs,得到本機的ipfs節點id,也就是一串哈希字符串;

 

運行命令:ipfs cat /ipfs/節點id/readme

下載readme文件,並在命令提示符窗口顯示其內容

 

運行命令:ipfs daemon

啟動節點,命令提示符窗口被鎖定

 

Ipfs除了命令行交互方式,還提供了webUI交互方式,可以在瀏覽器里面輸入http://localhost:5001/webui,就可以看到本機節點及狀態了。Firefox瀏覽器中訪問正常;chrome瀏覽器中需要安裝ipfs companion(ipfs伴侶)插件,才能正常查看,在chrome瀏覽器的擴展程序頁面點擊左上角“擴展程序”菜單中最下面的的chrome網上應用店,搜索ipfs companion進行安裝。

 

2、ipfs常用命令

 

文件上傳:ipfs add

上傳文件ipfs add example.jpg

上傳文件夾ipfs add –r dirpath

 

 

發布網頁路徑到IPNS

若我們上傳一個網站根目錄(文件夾)到ipfs站點,由於由於ipfs的hash對應着一個不可變的內容,每次更新網站之后,website的hash都會變,舊的link不能訪問到新的內容。

ipfs提供了ipns來解決更新的問題。ipfs允許用戶使用一個私有密鑰來對哈希附加一個引用,使用一個公共密鑰哈希(簡稱pubkeyhash)表示你的網站的最新版本。

ipfs name publish 網站根目錄HASH

通過上述方式,就完成了網站根目錄和一個固定的link的綁定,也就是ipfs的節點id。

綁定驗證:ipfs name resolve 節點id

輸出/ipfs/網站根目錄HASH

 

IPNS訪問固定節點Hash:

https://ipfs.io/ipns/節點id

 

說明:雖然ipfs設計的可以通過訪問其他節點獲取發布的數據,但目前的版本中若其他節點不主動通過文件HASH下載或瀏覽該文件,文件是不會自動緩存到其他節點,本節點關閉后將無法檢索到該數據;仍然要啟動本地節點或已經緩存了全部文件的其他節點,才能在公網上獲取文件。

 

文件下載:ipfs cat

ipfs cat /ipfs/QmdDTor6dWzknFJPJuhJgrUYqd56WkFXYAxyxpEY7kUrEb > init.jpg

增加輸出(> init.jpg),將文件保存到指定地方,否則會在命令提示符窗口輸出顯示

 

文件刪除:

在其他節點存儲本地節點文件之前可以通過以下命令刪除文件:

(1)    刪除緩存

命令:ipfs pin rm HASH

該HASH可以是文件或目錄對應的HASH

(2)    刪除二進制塊

命令:ipfs block rm HASH

執行以上兩步之后,重啟ipfs站點后,便無法訪問HASH對應的文件或目錄了;若其他節點上存儲了該相同文件,則無法刪除,如空文件夾。

 

批量清理本地節點內容:ipfs repo gc

該命令用來清理本地節點緩存的未創建緩存(pin)的文件或文件夾,存在緩存(pin)的文件或文件夾無法通過該命令清理。

緩存(pin)操作:

添加pin:ipfs pin add ipfs/HASH

刪除pin:ipfs pin rm ipfs/HASH

查看pin信息:ipfs pin ls ipfs/HASH

若不帶路徑(ipfs/HASH)參數,則會列出本地節點的所有pin信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM