日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习IPFS

發(fā)布時間:2025/3/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习IPFS 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

注:以下所有操作均在CentOS 6.8 x86_64位系統(tǒng)下完成。

?

IPFS(InterPlanetary File System)是一個點對點的分布式超媒體分發(fā)協(xié)議,被認(rèn)為是最有可能取代HTTP的新一代互聯(lián)網(wǎng)協(xié)議,關(guān)于IPFS的更多介紹可參考:IPFS官網(wǎng)。

#準(zhǔn)備工作#

在下載IPFS之前可能需要“***”,詳見:Centos安裝***+安裝Privoxy+配置SSH使用代理。

#安裝IPFS#

這里我們直接下載其官方編譯好的版本(Prebuilt Package)。

# wget https://dist.ipfs.io/go-ipfs/v0.4.14/go-ipfs_v0.4.14_linux-amd64.tar.gz # tar zxf go-ipfs_v0.4.14_linux-amd64.tar.gz # mv go-ipfs /usr/local/

配置環(huán)境:

# vim /etc/profile ... export IPFS_HOME=/usr/local/go-ipfs export PATH=$PATH:IPFS_HOME ... # source /etc/profile # ipfs version ipfs version 0.4.14

可以看到IPFS已經(jīng)安裝成功。

#使用IPFS#

一、創(chuàng)建IPFS節(jié)點

# ipfs init initializing IPFS node at /root/.ipfs generating 2048-bit RSA keypair...done peer identity: QmTW4AoQABDBxQwa4fn5yEqhAKXx2fyFXkksy6LQuDQWK1 to get started, enter:ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

這個時候默認(rèn)會在~/目錄下創(chuàng)建一個.ipfs的目錄,里面包含了配置文件信息等。可以自由進(jìn)行修改(比如可以把默認(rèn)的10GB存儲空間改小點):

# vim /root/.ipfs/config ..."Datastore": {"StorageMax": "10GB",...},"Addresses": {"Swarm": ["/ip4/0.0.0.0/tcp/4001","/ip6/::/tcp/4001"], ...} ...

也可以自己選擇指定的IPFS目錄:

# mkdir -p /data/ipfs # vim /etc/profile ... export IPFS_PATH=/data/ipfs ... # source /etc/profile # ipfs init generating 2048-bit RSA keypair...done peer identity: QmQa7NH5w7pxz34Sme96GUM8dH14upF3H67PDCX8nKXp4T to get started, enter:ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

這里將IPFS目錄改為/data/ipfs。

二、查看節(jié)點ID

# ipfs id {"ID": "QmQa7NH5w7pxz34Sme96GUM8dH14upF3H67PDCX8nKXp4T","PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDdpn...","Addresses": null,"AgentVersion": "go-ipfs/0.4.14/","ProtocolVersion": "ipfs/0.1.0" }

這里可以看到QmQa7NH5w7pxz34Sme96GUM8dH14upF3H67PDCX8nKXp4T就是當(dāng)前節(jié)點的ID值,每個節(jié)點都有一個唯一的ID值。

三、跨域資源共享

# ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST", "OPTIONS"]' # ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

四、啟動服務(wù)器

當(dāng)前IPFS節(jié)點雖然創(chuàng)建成功,但還沒有啟動加入到IPFS網(wǎng)絡(luò),外面無法訪問,需要啟動服務(wù)器:

# ipfs daemon & Initializing daemon... Swarm listening on /ip4/127.0.0.1/tcp/4001 Swarm listening on /ip4/172.18.167.60/tcp/4001 Swarm listening on /p2p-circuit/ipfs/QmQa7NH5w7pxz34Sme96GUM8dH14upF3H67PDCX8nKXp4T Swarm announcing /ip4/127.0.0.1/tcp/4001 Swarm announcing /ip4/172.18.167.60/tcp/4001 API server listening on /ip4/127.0.0.1/tcp/5001 Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080 Daemon is ready

五、新增文件

我們可以將本地的一個文件添加到IPFS網(wǎng)絡(luò)中:

# pwd /root # vim foo.txt ... # cat foo.txt Hello World# ipfs add foo.txt added QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u foo.txt # ipfs cat QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u Hello World

這個時候我們已經(jīng)將一個文件foo.txt添加到當(dāng)前的IPFS節(jié)點中,并且可以通過生成的唯一哈希值QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u來查看該文件內(nèi)容,接下來我們需要將其同步到IPFS網(wǎng)絡(luò)中:

# ipfs daemon & Initializing daemon... ... Daemon is ready

我們試著在本地瀏覽器打開地址(https://ipfs.io/ipfs/QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u)查看文件:

可以看到文件已經(jīng)成功地同步到了IPFS網(wǎng)絡(luò)中。

六、新增文件夾

接下來我們可以在IPFS的根目錄下創(chuàng)建文件夾,并且可以將foo.txt文件cp或mv到新創(chuàng)建的文件夾中。

# ipfs files mkdir /foo # ipfs files cp /ipfs/QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u /foo/foo.txt # ipfs files ls / foo # ipfs files ls /foo foo.txt # ipfs files read /foo/foo.txt Hello World

可以看到我們已經(jīng)成功地將該文件cp到了一個foo的新建目錄下,接下來我們嘗試在本地創(chuàng)建一個目錄并將其上傳到IPFS網(wǎng)絡(luò)中:

# mkdir bar # vim bar/bar.txt # cat bar/bar.txt Hello World 2 # ipfs add -r bar/ added QmShGj2c1Qe2wQKMUNMx45EPoKsJmwewojrE1ETzXggUFG bar/bar.txt added QmepZ8kfqvfDgLtaA7jiCZowXsgn63bKxJLS5NPNiqU2A9 bar

我們試著在本地瀏覽器打開地址(https://ipfs.io/ipfs/QmepZ8kfqvfDgLtaA7jiCZowXsgn63bKxJLS5NPNiqU2A9)查看文件夾:

?

轉(zhuǎn)載于:https://www.cnblogs.com/brishenzhou/p/8866941.html

總結(jié)

以上是生活随笔為你收集整理的学习IPFS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。