[教程] 命令行安裝ipfs

初始化 Kubo 節點並與 IPFS 網絡交互

在本教程中,您將初始化 IPFS Kubo 節點存儲庫、使節點上線、與 IPFS 網絡交互,並查看本地節點上的 Web 控制台。如果您在遵循本指南時遇到任何問題,請參閱故障排除

#先決條件

如果您尚未安裝 Kubo,請按照Kubo 安裝指南進行操作。

#初始化存儲庫

ipfs 將其所有設置和內部數據存儲在稱為存儲庫的目錄中*。* 在第一次使用 Kubo 之前,您需要初始化存儲庫。

提示

  • 如果您在數據中心運行 Kubo 節點,則應使用server 配置文件初始化 IPFS。這樣做將阻止 IPFS 創建試圖發現本地節點的數據中心內部流量:
ipfs init --profile server
  • 在 Unix 平台(包括 macOS)上請小心使用sudo !運行sudo ipfs init 將為用戶創建存儲庫root ,而不是您的本地用戶帳戶。Kubo 不需要 root 權限,因此最好ipfs 以普通用戶身份運行所有命令!
  1. 打開終端窗口。
  2. ipfs init 使用命令初始化存儲庫
ipfs init

輸出類似於以下顯示:

> initializing ipfs node at /Users/jbenet/.ipfs
> generating 2048-bit RSA keypair...done
> peer identity: Qmcpo2iLBikrdf1d6QU6vXuNb6P7hwrbNPW9kLAH8eG67z
> to get started, enter:
>
>   ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme

提示

旁邊的散列peer identity 是您的節點的 ID,與上面輸出中顯示的散列不同。網絡上的其他節點用於peer identity 查找並連接到您。

如果需要,請運行ipfs id 以顯示。peer identity

  1. ipfs init 現在,嘗試運行(即)輸出中建議您的命令ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme

你應該看到這樣的東西:

Hello and Welcome to IPFS!

██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝

If you see 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
  1. quick-start 目錄顯示了要嘗試的其他示例命令。要顯示“快速啟動”的內容,請運行:
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/quick-start

提示

您可以設置大量其他配置選項 - 請參閱完整參考 (打開新窗口)了解更多。

#讓你的節點上線

接下來,使您的節點上線並與 IPFS 網絡交互:

  1. 打開另一個終端窗口。
  2. 在新的終端窗口中啟動 IPFS 守護進程:
ipfs daemon

片刻之後,將顯示如下輸出,您的節點已準備就緒:

> Initializing daemon...
> API server listening on /ip4/127.0.0.1/tcp/5001
> Gateway server listening on /ip4/127.0.0.1/tcp/8080

記下輸出中的 TCP 端口。如果它們不同,請在下面的命令中使用您的。

切勿將 RPC API 暴露到公共互聯網

API 端口(默認情況下5001 )提供對 Kubo IPFS 節點的管理員級別訪問。有關更多信息,請參閱RPC API v0 文檔。

  1. 切換回原來的終端窗口。
  2. 如果您已連接到網絡,請運行ipfs swarm peers 以查看對等點的 IPFS 地址:
ipfs swarm peers

輸出類似於以下顯示:

> /ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ
> /ip4/104.236.151.122/tcp/4001/p2p/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
> /ip4/134.121.64.93/tcp/1035/p2p/QmWHyrPWQnsz1wxHR219ooJDYTvxJPyZuDUPSDpdsAovN5
> /ip4/178.62.8.190/tcp/4002/p2p/QmdXzZ25cyzSF99csCQmmPZ1NTbWTe8qtKFaZKpZQPdTFB

顯示的地址由 a <transport address> (ie /ip4/104.131.131.82/tcp/4001 ) 和 a <hash-of-public-key> (ie QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx ) 組成,結果為 形式的地址<transport address>/p2p/<hash-of-public-key>
5. 現在,使用以下命令從網絡獲取宇宙飛船發射的炫酷圖片ipfs cat

ipfs cat /ipfs/QmSgvgwxZGaBLqkGyWemEDqikCqU52XxsYLKtdy3vGZ8uq > ~/Desktop/spaceship-launch.jpg

當上述命令運行時,Kubo 在 IPFS 網絡中搜索指定的 CID ( QmSgv... ) 並將數據寫入名為 的文件中spaceship-launch.jpg
6. 驗證名為 的宇宙飛船發射照片spaceship-launch.jpg 是否位於您的~/Desktop .
7. 接下來,創建一個文件以添加到您的節點:

echo "meow" > meow.txt
  1. 添加meow.txt 使用ipfs add
ipfs add meow.txt

輸出類似於以下顯示:

> added QmabZ1pL9npKXJg8JGdMwQMJo2NCVy9yDVYjhiHK4LTJQH meow.txt

記下 CID(即QmabZ1.. ),因為您在下一步中將需要它。
9. <CID> 通過指定上一步返回的CID來查看對象:

提示

以下示例使用curl 瀏覽器,但您可以在其他瀏覽器中打開IPFS地址。根據網絡狀態,curl 由於公共網關過載或難以聯繫到您,可能需要一段時間。

curl "https://ipfs.io/ipfs/<CID>"

輸出如下所示:

> meow

10.在此步驟中,網關提供來自您計算機的* 文件。網關查詢分佈式哈希表(DHT),找到您的機器,請求文件,您的計算機將其發送到網關,網關將其發送到您的瀏覽器。
11. 查看自己本地網關上的對象:

curl "http://127.0.0.1:8080/ipfs/<CID>"
> meow

默認情況下,您的網關不向外界公開。它僅適用於本地。

#使用 Web 控制台與節點交互

您可以通過導航到查看本地節點的 Web 控制台localhost:5001/webui

Web 控制台顯示可變文件系統 (MFS)中的文件。MFS 是內置於 Web 控制台中的工具,可幫助您以與標準的基於名稱的文件系統相同的方式導航 IPFS 文件。

當您使用CLI 命令ipfs add ...添加文件時,這些文件不會在 MFS 中自動可用。要在 IPFS Desktop 中查看使用 CLI 添加的文件,必須將文件複製到 MFS:

  1. 進入localhost:5001/webui 瀏覽器查看 Web 控制台。
  2. 在左側邊欄菜單中,單擊**“文件”** 。將顯示一個空目錄,並顯示以下消息:
No files here yet! Add files to your local IPFS node by clicking the Import button above.
  1. 導航回原來的終端窗口。
  2. 使用上一步中<CID> 添加到節點時獲得的CID ,將文件複製到 MFS。meow.txt
ipfs files cp /ipfs/<CID> /meow.txt

例如,如果<CID> ofmeow.txtQmabZ1pL9npKXJg8JGdMwQMJo2NCVy9yDVYjhiHK4LTJQH ,則它將被複製到 MFS:

ipfs files cp /ipfs/QmabZ1pL9npKXJg8JGdMwQMJo2NCVy9yDVYjhiHK4LTJQH /meow.txt
  1. 在瀏覽器中,刷新**“文件”** 頁面。顯示文件列表meow.txt

#將 IPFS 伴侶與 Kubo 結合使用

您可以使用 IPFS Companion(一種瀏覽器擴展程序),它可以簡化對 IPFS 資源的訪問並添加對 IPFS 協議的支持,自動將 IPFS 網關請求重定向到本地守護程序,這樣您就不再依賴遠程網關。

有關 IPFS Companion 的更多信息,包括如何安裝它,請參閱IPFS Companion 快速入門

#故障排除

#檢查你的 Go 版本

IPFS 適用於 Go 1.12.0 或更高版本。要檢查您安裝的 go 版本,請輸入go version

go version

> go version go1.12.2 linux/amd64

如果您需要更新,我們建議您從規範的 Go 軟件包安裝 (打開新窗口)。包管理器通常包含過時的 Go 包。

#檢查保險絲是否安裝

您需要安裝並設置 FUSE 才能掛載文件系統。有關設置 FUSE 的更多詳細信息,請參閱github.com/ipfs/kubo/blob/master/docs/fuse.m