一缆娃、 IPFS(windows)環(huán)境搭建和基本操作

今天也根據(jù)官網(wǎng)的文檔開始一步步搭建ipfs運行環(huán)境弃锐,我們先來看一下IPFS的簡介:

IPFS(InterPlanetary File System)是一個點對點的分布式超媒體分發(fā)協(xié)議,它整合了過去幾年最好的分布式系統(tǒng)思路担败,為所有人提供全球統(tǒng)一的可尋址空間昔穴,包括Git、自證明文件系統(tǒng)SFS提前、BitTorrent和DHT吗货,同時也被認(rèn)為是最有可能取代HTTP的新一代互聯(lián)網(wǎng)協(xié)議。

IPFS用基于內(nèi)容的尋址替代傳統(tǒng)的基于域名的尋址岖研,用戶不需要關(guān)心服務(wù)器的位置卿操,不用考慮文件存儲的名字和路徑警检。我們將一個文件放到IPFS節(jié)點中孙援,將會得到基于其內(nèi)容計算出的唯一加密哈希值害淤。哈希值直接反映文件的內(nèi)容,哪怕只修改1比特拓售,哈希值也會完全不同窥摄。當(dāng)IPFS被請求一個文件哈希時,它會使用一個分布式哈希表找到文件所在的節(jié)點础淤,取回文件并驗證文件數(shù)據(jù)崭放。

IPFS是通用目的的基礎(chǔ)架構(gòu),基本沒有存儲上的限制鸽凶。大文件會被切分成小的分塊币砂,下載的時候可以從多個服務(wù)器同時獲取。IPFS的網(wǎng)絡(luò)是不固定的玻侥、細(xì)粒度的决摧、分布式的網(wǎng)絡(luò),可以很好的適應(yīng)內(nèi)容分發(fā)網(wǎng)絡(luò)的要求凑兰。這樣的設(shè)計可以很好的共享各類數(shù)據(jù)掌桩,包括圖像、視頻流姑食、分布式數(shù)據(jù)庫波岛、整個操作系統(tǒng)、模塊鏈音半、8英寸軟盤的備份则拷,還有靜態(tài)網(wǎng)站。

1曹鸠、下載IPFS

打開官網(wǎng)https://ipfs.io/ 隔躲,點擊【Try it

點擊 【Install IPFS now

點擊【Download go-ipfs】, 下載對應(yīng)版本的IPFS安裝文件

下載完之后,將文件解壓到你想要存放的目錄物延,如:E:\Workplace\BlockChain\go-ipfs


2宣旱、安裝IPFS

打開CMD,進(jìn)入ipfs文件目錄

 E:
 cd E:\Workplace\BlockChain\go-ipfs

輸入 dir 查看目錄信息叛薯,然后輸入ipfs init 開始初始化 ipfs網(wǎng)絡(luò)環(huán)境浑吟,并且系統(tǒng)會分配一個屬于你自己的IPFS網(wǎng)絡(luò)哈希值(類似你在IPFS網(wǎng)絡(luò)中的一張身份證ID)。有了這個ID耗溜,別人就可以訪問到你的節(jié)點

~>dir //  查看目錄信息
~>ipfs init // 初始化 ipfs網(wǎng)絡(luò)環(huán)境

輸入上面獲取的內(nèi)容 ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme,
出現(xiàn) Hello and Welcome to IPFS!
那恭喜你组力!說明你的電腦已經(jīng)成功安裝IPFS并已經(jīng)加入到IPFS網(wǎng)絡(luò)了。

3抖拴、IPFS環(huán)境配置

IPFS安裝的默認(rèn)配置將存放到你的用戶文件夾根目錄下(C:\Users\abc\.ipfs)文件夾名.ipfs燎字,接下來打開config腥椒,里面的是ipfs的一些基礎(chǔ)配置數(shù)據(jù),可以根據(jù)自己的需求修改里面的配置

配置修改請參考官網(wǎng)文檔

4候衍、運行測試

輸入 ipfs daemon 啟動IPFS服務(wù)監(jiān)聽笼蛛,目的是用于監(jiān)聽IPFS網(wǎng)絡(luò)通信數(shù)據(jù),使用的監(jiān)聽端口是5001蛉鹿。注意要并保持開啟狀態(tài)滨砍,才能守護(hù)監(jiān)聽的進(jìn)程

另開一個cmd,同樣進(jìn)入ipfs目錄妖异,試著執(zhí)行一些基礎(chǔ)命令

輸入 ipfs help惋戏,獲取一些常用的命令

輸入 ipfs id,可以查看你的通信ID信息

image.png

查看配置信息


image.png

輸入 ipfs swarm peers 可以查看附近也在使用IPFS網(wǎng)絡(luò)節(jié)點伙伴他膳,如果列出有數(shù)據(jù)說明你并不是一個人在使用IPFS網(wǎng)絡(luò)

image.png

5响逢、嘗試調(diào)用一個ipfs網(wǎng)絡(luò)中的文件:

打開官網(wǎng)點擊 右上角 Docs -> 選擇目錄 Getting Started

找到Going online,復(fù)制代碼 ipfs cat /ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg >cat.jpg

粘貼到CMD棕孙,回車確認(rèn)即可獲得ipfs網(wǎng)絡(luò)的的一個貓的圖片資源舔亭,也說明我們的ipfs環(huán)境可以訪問網(wǎng)絡(luò)中的文件了。


6散罕、可視化界面

IPFS網(wǎng)絡(luò)狀態(tài)保持開啟分歇,此時瀏覽器輸入http://localhost:5001/webui 你可以看到一個漂亮的可視化IPFS管理界面,里面可以做一些基礎(chǔ)的資源獲取查看操作

7欧漱、上傳一個文件以及在ipfs獲取自己上傳的文件

將自己的文件放在ipfs配置目錄(E:\Workplace\BlockChain\go-ipfs)职抡,如我的test.txt這個文檔

執(zhí)行命令 ipfs add test.txt,顯示如下误甚,說明我的文件已經(jīng)加入了我的ipfs網(wǎng)絡(luò)節(jié)點中缚甩,并且生成了一個test.txt這個文件的唯一哈希值 QmPAUBJmKa1KTeSo7qn4q2N9DT3yhBxPWf1ELHku3nMbci,
輸入命令 ipfs cat QmPAUBJmKa1KTeSo7qn4q2N9DT3yhBxPWf1ELHku3nMbci 獲得文件信息

此時我們可以通過上面返回的文件哈希值 QmPAUBJmKa1KTeSo7qn4q2N9DT3yhBxPWf1ELHku3nMbci,
獲取我們上傳的文件,在剛才的可視化界面把哈希值粘貼到搜索欄即可得到我們上傳的文件信息

注意:我們剛才的文件獲取操作都是只在我們本機(jī)內(nèi)網(wǎng)建立的ipfs環(huán)境中窑邦,我們嘗試使用https://ipfs.io/ipfs/QmPAUBJmKa1KTeSo7qn4q2N9DT3yhBxPWf1ELHku3nMbci 查看信息擅威,出現(xiàn)沒有找到資源的提示,說明我們上傳的文件還沒有同步到ipfs外網(wǎng)冈钦,所以訪問不了郊丛。

接下來執(zhí)行下面的命令同步節(jié)點數(shù)據(jù)到IPFS網(wǎng)絡(luò):
先把剛在運行的 ipfs daemon服務(wù)停止(Ctrl + c),然后重新啟動 ipfs daemon
再次在瀏覽器訪問,可以看到我們上傳的文件瞧筛,說明我們現(xiàn)在已經(jīng)成功把文件上傳到ipfs網(wǎng)絡(luò)節(jié)點了厉熟。

8、發(fā)布到PNS较幌,創(chuàng)建簡易的網(wǎng)頁發(fā)布到IPFS

在這里我先自己寫一個簡單的網(wǎng)頁給大家演示揍瑟,先在桌面新建一個site文件夾,然后按照下面的步驟在site文件夾中建立index.htmlstyle.css文件乍炉。

8.1 創(chuàng)建一個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>

8.2 創(chuàng)建一個style.css文件

h1 {
  color: green;
}

8.3 添加到ipfs

> ipfs add -r site/
added QmS4a85WLxie6Zy6Tntg6CccyGHyV4823Vo1vkjGBYhetP site/index.html
added QmZL2UBTwnhcLv66fARL9UV8W8a9ZA4iwTLcaUCsB1u1yW site/style.css
added QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX site

最后一行是項目根目錄的hash绢片,你先通過ipfs daemon同步網(wǎng)絡(luò)滤馍,然后可以通過https://ipfs.io/ipfs/<你的項目根目錄hash>,即https://ipfs.io/ipfs/QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX訪問項目底循。

8.4 訪問網(wǎng)站

瀏覽器打開https://ipfs.io/ipfs/QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX巢株,效果圖如下:

]

8.5 發(fā)布到IPNS

當(dāng)我們修改網(wǎng)站內(nèi)容重新添加到ipfs時,hash會發(fā)生變化此叠,當(dāng)我們網(wǎng)站更新時纯续,我們可以將網(wǎng)站發(fā)布到IPNS随珠,在IPNS中灭袁,允許我們節(jié)點的域名空間中引用一個IPFS hash,也就是說我們可以通過節(jié)點ID對項目根目錄的IPFS HASH進(jìn)行綁定窗看,以后我們訪問網(wǎng)站時直接通過節(jié)點·ID訪問即可茸歧,當(dāng)我們更新網(wǎng)站時,重新發(fā)布到IPNS即可显沈。

> ipfs name publish QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX
Published to QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97: /ipfs/QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX

當(dāng)我們執(zhí)行ipfs name publish命令時软瞎,會返回我們的節(jié)點ID,你可以通過ipfs id進(jìn)行查看驗證是否是你的節(jié)點ID拉讯。

驗證id:

> ipfs id
{
    "ID": "QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97",
    "PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6fMRFRKKg7rn7fJVVENsmSp/qftAV0FApEEFi0LNJOW9oYENCNykCc6Vpwg0/9oXjfkywAJqENgEycUV1ZdK75Ef9NJlY5vy62e2aitF83ock89zAeXXLU4GhXifW/foT5DsHHSe0rseBmybZDHjAOJtfhaN4K4yusw23wzvt9Fg8S3qNszEaImYtWUlS08piiR0tWdz+24I/oWiSnWB855KVCdLnYnwy6M3OLgeuJvXB2XGwnbtj4Q1jvp9rf/KGjHtb0KB9DwfowZ/ypvrDUNakbjNGYfn3I+AvRl1Qz4++o57VtbRmZYThygWnz9vTjqj0NDX2ftYh6MrZkSg5AgMBAAE=",
    "Addresses": [
        "/ip4/127.0.0.1/tcp/4001/ipfs/QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97",
        "/ip4/192.168.0.4/tcp/4001/ipfs/QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97",
        "/ip4/169.254.187.113/tcp/4001/ipfs/QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97",
        "/ip6/::1/tcp/4001/ipfs/QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97",
        "/ip4/182.139.92.248/tcp/32065/ipfs/QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97"
    ],
    "AgentVersion": "go-ipfs/0.4.14/",
    "ProtocolVersion": "ipfs/0.1.0"
}

驗證id綁定的網(wǎng)站hash:

> ipfs name resolve <peerId>

> ipfs name resolve QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97
/ipfs/QmPAygbESghBjPbLhGJAda5rA9GCBMHMGfgwLoB61DfnxX

我們現(xiàn)在就可以根據(jù)節(jié)點id涤浇,通過IPNS進(jìn)行訪問了:
https://ipfs.io/ipns/QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97

注意上面是ipns而不是ipfs。

8.6 修改網(wǎng)站內(nèi)容魔慷,重新發(fā)布到IPNS

現(xiàn)在去style.css中修改字體顏色:

h1 {
  color: red;
}

重新添加site文件夾到ipfs:

> ipfs add -r site/
added QmS4a85WLxie6Zy6Tntg6CccyGHyV4823Vo1vkjGBYhetP site/index.html
added QmUTwP64HnrQp3GJuVeuvwaQ79rxa8waQL5yj3qkCswqvk site/style.css
added QmWhEUU1ksDShPTqhPEEXohfnhBvpwaCHtxhnbf3Fi1piH site

可以看到除了index.html文件的hash值沒變外只锭,style.csssite文件夾的hash值都不是之前的hash值了。

瀏覽器打開https://ipfs.io/ipfs/QmWhEUU1ksDShPTqhPEEXohfnhBvpwaCHtxhnbf3Fi1piH院尔,效果圖如下:

重新發(fā)布到IPNS:

> ipfs name publish QmWhEUU1ksDShPTqhPEEXohfnhBvpwaCHtxhnbf3Fi1piH
Published to QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97: /ipfs/QmWhEUU1ksDShPTqhPEEXohfnhBvpwaCHtxhnbf3Fi1piH

再次根據(jù)節(jié)點id蜻展,通過IPNS進(jìn)行訪問:
https://ipfs.io/ipns/QmVhF9zg4qcrVTw8jkkCGvTJGXJjvwX6CvRuxzUErEyx97

可以看到,由于網(wǎng)站的內(nèi)容發(fā)生了變化邀摆,對應(yīng)的hash值也發(fā)生了變化纵顾,這會導(dǎo)致其他人通過舊的網(wǎng)站hash值,訪問不到更新后的網(wǎng)站栋盹。而使用IPNS施逾,將每次更新后的網(wǎng)站hash值綁定到我們的節(jié)點id,他人只需要記住你的節(jié)點id例获,通過IPNS汉额,就可以一直訪問最新的網(wǎng)站內(nèi)容。

以上簡介的IPFS的環(huán)境搭建和基礎(chǔ)的幾個命令操作

參考文章
http://www.reibang.com/p/9e7fb59d2bb5
https://steemit.com/ipfs/@daxiang/ipfs-windows

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末躏敢,一起剝皮案震驚了整個濱河市闷愤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌件余,老刑警劉巖讥脐,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遭居,死亡現(xiàn)場離奇詭異,居然都是意外死亡旬渠,警方通過查閱死者的電腦和手機(jī)俱萍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來告丢,“玉大人枪蘑,你說我怎么就攤上這事♂猓” “怎么了岳颇?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長颅湘。 經(jīng)常有香客問我话侧,道長,這世上最難降的妖魔是什么闯参? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任瞻鹏,我火速辦了婚禮,結(jié)果婚禮上鹿寨,老公的妹妹穿的比我還像新娘新博。我一直安慰自己,他們只是感情好脚草,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布赫悄。 她就那樣靜靜地躺著,像睡著了一般玩讳。 火紅的嫁衣襯著肌膚如雪涩蜘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天熏纯,我揣著相機(jī)與錄音同诫,去河邊找鬼。 笑死樟澜,一個胖子當(dāng)著我的面吹牛误窖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播秩贰,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼霹俺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了毒费?” 一聲冷哼從身側(cè)響起丙唧,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎觅玻,沒想到半個月后想际,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體培漏,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年胡本,在試婚紗的時候發(fā)現(xiàn)自己被綠了牌柄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡侧甫,死狀恐怖珊佣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情披粟,我是刑警寧澤咒锻,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站僻爽,受9級特大地震影響虫碉,放射性物質(zhì)發(fā)生泄漏贾惦。R本人自食惡果不足惜胸梆,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望须板。 院中可真熱鬧碰镜,春花似錦、人聲如沸习瑰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甜奄。三九已至柠横,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間课兄,已是汗流浹背牍氛。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留烟阐,地道東北人搬俊。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像蜒茄,于是被迫代替她去往敵國和親唉擂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容