IPFS環境搭建節點安裝

ipfs(InterPlanetary File System,星際文件系統),本文介紹節點軟件ipfs環境搭建和使用方法,學習ipfs-api在nodejs代碼中訪問ipfs網絡。node

1、ipfs節點安裝與使用

1.1下載節點軟件

到官網下載windows版的ipfs節點軟件:32位64位 若是你不能訪問官網,可使用百度雲盤鏡像:32位64位git

1.2解壓節點軟件

下載後解壓到指定目錄,例如d:\go-ipfs,開一個控制檯窗口,測試:windows

D:\go-ipfs > ipfs version
Ipfs version 0.4.14

能夠將該目錄加入環境變量PATH, path env 或者將d:\go-ipfs\ipfs.exe拷貝到windows系統目錄,以便在任何目錄中能夠啓動ipfs.exe。api

1.3 初始化本地倉庫

和git相似,ipfs節點也須要先初始化一個本地倉庫。執行init子命令來初始化本地倉庫:網絡

D:\go-ipfs> ipfs init
Initializing IPFS node at C:\Users\hubwiz\.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmQaTgU1TLNHPBEvLGgWK1G9FgVByyUZNVhDs789uWPtku
to get started, enter:

     ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

默認狀況下,ipfs將在當前用戶主目錄(例如:對於hubwiz用戶,其主目錄就是C:\Users\hubwiz)下創建.ipfs子目錄,做爲本地倉庫的根目錄。ide

若是你的C盤空間不夠大,或者你就是但願使用其餘目錄做爲本地倉庫根目錄,能夠設置IPFS_PATH環境變量,使其指向目標路徑,例如D:\my_ipfs_root ipfs-path學習

1.4從新初始化

若是你指望從新初始化節點,會提醒你不能這麼作,不然會改寫你的密鑰:區塊鏈

D:\go-ipfs> ipfs init
Initializing IPFS node at C:\Users\hubwiz\.ipfs
Error: ipfs configuration file already exists!
Reinitializing would overwrite your keys.

這擋不住咱們。若是你必須從新初始化的話,先刪除原來的倉庫根目錄便可:測試

D:\go-ipfs> del C:\users\hubwiz\.ipfs

1.5將文件添加到本地倉庫

使用add子命令將指定的文件添加到本地倉庫,例如將當前目錄的README.md文件添加到本地倉庫:編碼

D:\go-ipfs> ipfs add README.md
465 B / ? [-------------------------------------------------------=--] 
added QmXBpD37vBm5537pqHwyJRGSaX7hMrkHyp866wqEVU2BE8 README.md

ipfs會根據文件的內容生成一個哈希值,例如:

QmXBpD37vBm5537pqHwyJRGSaX7hMrkHyp866wqEVU2BE8

你須要記錄下這個編碼,由於須要使用它來訪問本地倉庫(或ipfs網絡)中的文件。 注意:ipfs並不會無節制地將你本地倉庫中的文件分佈到其餘ipfs節點中,若是沒有其餘的ipfs節點搜索你的文件(的哈希值),那麼你本地倉庫中的文件將始終只存在於本地。

1.6訪問ipfs文件

Ipfs網絡中只能經過內容的哈希值來訪問文件,例如對於上面的README.md文件,咱們使用cat子命令經過其哈希值來查看其內容:

D:\go-ipfs> ipfs cat QmXBpD37vBm5537pqHwyJRGSaX7hMrkHyp866wqEVU2BE8

控制檯將輸出內容:

\# ipfs commandline tool

This is the [ipfs](http://ipfs.io) commandline tool. It contains a full ipfs node.
......

1.7 將節點接入網絡

執行daemon子命令將節點接入ipfs網絡:

D:\go-ipfs> ipfs daemon
Initializing daemon...
......
Daemon is ready

只有當啓動監聽後,節點纔可以接受ipfs網絡中的內容檢索請求,參與內容的交換與分佈。

能夠按Ctrl+C退出監聽狀態。

?

推薦兩個以太坊相關的實戰教程:

1.區塊鏈初學者   :以太坊 DApp 實戰開發入門

2.區塊鏈開發進階:去中心化以太坊 DApp 電商平臺實戰開發

更多的內容能夠訪問博客:

http://blog.hubwiz.com/2018/02/03/ipfs-api-dev/

相關文章
相關標籤/搜索