【译】IPFS — The Permanent, Distributed Web
IPFS最初由Juan Benet設(shè)計(jì),由Protocol Lab擁有,現(xiàn)在已經(jīng)在社區(qū)的幫助下開發(fā)了一個(gè)開源項(xiàng)目。
簡(jiǎn)而言之, IPFS , InterPlanetory文件系統(tǒng)是一種點(diǎn)對(duì)點(diǎn)(P2P)超媒體協(xié)議,允許其用戶設(shè)計(jì)和開發(fā)完全分布式的應(yīng)用程序。 作為分布式文件系統(tǒng)運(yùn)行,它將所有計(jì)算設(shè)備與相同的文件系統(tǒng)鏈接起來(lái)。 它支持大量數(shù)據(jù)的分發(fā),并允許其用戶為數(shù)據(jù)鏡像創(chuàng)建彈性網(wǎng)絡(luò)。
IPFS如何提交一切
與引用存儲(chǔ)服務(wù)器的對(duì)象(文本文件,圖片,視頻)的HTTP協(xié)議不同,IPFS通過(guò)文件上的散列來(lái)引用所有內(nèi)容。 這意味著它會(huì)根據(jù)文件中的內(nèi)容創(chuàng)建文件哈希。 所以如果我們想要訪問(wèn)一個(gè)特定的頁(yè)面,那么IPFS會(huì)詢問(wèn)整個(gè)網(wǎng)絡(luò),如果任何人有這個(gè)文件對(duì)應(yīng)這個(gè)散列,并且IPFS上有這個(gè)散列的節(jié)點(diǎn)將返回允許你訪問(wèn)它的文件。
正如我剛才所說(shuō),IPFS使用HTTP層的內(nèi)容尋址。 這是一種說(shuō)法,而不是創(chuàng)建一個(gè)按位置來(lái)定位事物的標(biāo)識(shí)符,我們將通過(guò)對(duì)內(nèi)容本身的某種表示來(lái)解決它。 這意味著內(nèi)容將決定地址。 其機(jī)制是采取一個(gè)文件并以加密方式對(duì)其進(jìn)行哈希處理,這將為您提供文件的安全表示形式,以確保某人不會(huì)只是想出另一個(gè)具有相同散列的文件并將其用作地址。
雖然與HTTP協(xié)議類似,但它可以將任何類型的文件從文本傳輸?shù)揭曨l。 但是你一定在想..
它與HTTP不同
那么,傳統(tǒng)上,HTTP遵循一個(gè)簡(jiǎn)單的客戶端 - 服務(wù)器模型。 它有一個(gè)很好的屬性,其中標(biāo)識(shí)符是托管文件的計(jì)算機(jī)(服務(wù)器)的位置。 所以世界各地的客戶端計(jì)算機(jī)都會(huì)從這個(gè)服務(wù)器上請(qǐng)求一個(gè)文件,而不管它們的位置。 該服務(wù)器將滿足所有客戶端請(qǐng)求并提供所有負(fù)載。 這通常工作得很好,但不是在離線情況下,或者在大部分分布式情況下,我們希望最小化網(wǎng)絡(luò)負(fù)載。
鑒于IPFS適用于點(diǎn)對(duì)點(diǎn)分布式模型,有點(diǎn)類似于BitTorrent,使用類似版本控制系統(tǒng)的Git來(lái)管理,存儲(chǔ)和跟蹤通過(guò)HTTP的文件版本。 (正如我告訴過(guò)你,我們已經(jīng)看到它的部分:))
所以人們可以認(rèn)為IPFS就像HTTP web + Git + BitTorrent。為了更多地理解它,
讓我們深入IPFS的工作
讓我們一步一步做 -
步驟1: 根據(jù)您的平臺(tái) 下載并安裝IPFS
可以從IPFS網(wǎng)站下載并將可執(zhí)行文件移動(dòng)到適當(dāng)?shù)奈恢谩?/span>
在Mac / Linux上:
下載后,解壓縮存檔文件夾,并將ipfs文件移動(dòng)到$PATH某處。 通過(guò)終端來(lái)做到這一點(diǎn):
sudo mv ipfs / usr / local / bin / ipfs對(duì)于Windows:
下載后,解壓縮存檔,然后剪下ipfs.exe并粘貼到%PATH%某處。 通過(guò)命令提示符執(zhí)行此操作:以管理員身份運(yùn)行命令提示符
C:\>> move。\ go-ipfs \ ipfs.exe C:\ Windows第二步: 初始化IPFS
$ ipfs init 在/Users/romiljain/.ipfs中初始化IPFS節(jié)點(diǎn) 生成2048位RSA密鑰對(duì)...完成 同儕身份:QmWwvCycToWiUfMtoAWW9r5aEoeHK4KcmubtKhEmCGJJme 要開始,請(qǐng)輸入: ipfs cat / ipfs / QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv / readme并根據(jù)指示,當(dāng)你進(jìn)入
$ ipfs cat / ipfs / QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv / readme你會(huì)看到這樣的東西
請(qǐng)務(wù)必閱讀警告:)第3步:向IPFS添加文件
現(xiàn)在讓我們添加一個(gè)文件到IPFS。 我們將從一個(gè)文件開始,第二部分將添加一個(gè)目錄和多個(gè)文件來(lái)查看行為。
因此,將創(chuàng)建一個(gè)dir ipfsdir ,并將添加一個(gè)文件hello.txt,其內(nèi)容為Hello World
$ mkdir ipfsdir $ cd ipfsdir $ touch hello.txt現(xiàn)在讓我們將這個(gè)文件添加到IPFS
$ ipfs添加hello.txt 添加了QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u hello.txt第4步:將文件固定到IPFS
現(xiàn)在我們將把我們添加到IPFS的文件固定。 由于文件存在于我們的本地機(jī)器上,但通過(guò)固定文件,IPFS網(wǎng)絡(luò)上的其他節(jié)點(diǎn)知道他們可以從我們的機(jī)器訪問(wèn)文件。
$ ipfs pin add QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u 以遞歸方式固定QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u第5步:啟動(dòng)守護(hù)程序以將IPFS機(jī)器連接到網(wǎng)絡(luò)
在這一步中,我們將把我們的機(jī)器引入IPFS網(wǎng)絡(luò)。 這允許網(wǎng)絡(luò)上的其他節(jié)點(diǎn)/參與者收聽我們的機(jī)器并從我們的機(jī)器檢索文件,反之亦然。
鍵入以下內(nèi)容以連接到網(wǎng)絡(luò):
$ ipfs守護(hù)進(jìn)程你會(huì)看到像這樣的東西
正在初始化守護(hù)進(jìn)程... 將當(dāng)前ulimit調(diào)整為2048 ... 成功將文件描述符限制提高到2048。 Swarm在/ip4/127.0.0.1/tcp/4001上監(jiān)聽 Swarm在/ip4/192.168.0.101/tcp/4001上監(jiān)聽 Swarm監(jiān)聽/ ip6 / :: 1 / tcp / 4001 Swarm監(jiān)聽/ p2p-circuit / ipfs / QmWwvCycToWiUfMtoAWW9r5aEoeHK4KcmubtKhEmCGJJme Swarm宣布/ip4/127.0.0.1/tcp/4001 Swarm宣布/ip4/192.168.0.101/tcp/4001 Swarm宣布/ip4/71.75.18.38/tcp/23917 Swarm宣布/ ip6 / :: 1 / tcp / 4001 監(jiān)聽/ip4/127.0.0.1/tcp/5001的API服務(wù)器 在/ip4/127.0.0.1/tcp/8080上監(jiān)聽的網(wǎng)關(guān)(只讀)服務(wù)器 守護(hù)進(jìn)程已準(zhǔn)備就緒打開另一個(gè)終端并檢查誰(shuí)連接到您的機(jī)器:
$ ipfs swarm peersProtocol Labs(它擁有IPFS)有許多引導(dǎo)節(jié)點(diǎn)正在積極尋找放置在網(wǎng)絡(luò)上的新內(nèi)容。
它維護(hù)一個(gè)HTTP -> IPFS網(wǎng)關(guān),我們可以從他們的網(wǎng)站訪問(wèn)我們的任何一個(gè)文件,他們已經(jīng)在他們的HTTP URL上掛載了IPFS系統(tǒng): https://ipfs.io/ipfs/[yourHash]. ://ipfs.io/ipfs/[yourHash https://ipfs.io/ipfs/[yourHash].
運(yùn)行下面的鏈接檢查文件hello.txt,完全加載到IPFS上: https ://ipfs.io/ipfs/QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u
我們會(huì)看到Hello World
第6步:殺死守護(hù)進(jìn)程
如果你想斷開與網(wǎng)絡(luò)的連接,不要忘記殺死守護(hù)進(jìn)程。 這很容易。 轉(zhuǎn)到守護(hù)進(jìn)程正在運(yùn)行的終端,然后按CTRL + C
現(xiàn)在你會(huì)理解IPFS的基礎(chǔ)知識(shí)。 在第二部分中,我們將深入探討IPFS對(duì)多個(gè)文件和目錄(網(wǎng)站結(jié)構(gòu)的種類)的工作,并且了解它的基本功能。
https://medium.com/@itsromiljain/ipfs-the-permanent-distributed-web-7a0d3ede10af
總結(jié)
以上是生活随笔為你收集整理的【译】IPFS — The Permanent, Distributed Web的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 用区块链改变人工智能:去中心化带来数据新
- 下一篇: 【译】 Sparky: A Lightn