国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > 如何基于IPFS建一個靜態(tài)網(wǎng)站

如何基于IPFS建一個靜態(tài)網(wǎng)站

時間:2022-08-28 20:24:01 | 來源:網(wǎng)站運營

時間:2022-08-28 20:24:01 來源:網(wǎng)站運營






在上一篇《如何在IPFS里面上傳一張圖片》里面介紹了如何搭建IPFS的應用環(huán)境,今天小編給大家介紹一下如何在IPFS上創(chuàng)建自己的個人網(wǎng)站,有過個人網(wǎng)站創(chuàng)建經(jīng)歷的讀者都知道,想要創(chuàng)建一個個人網(wǎng)站,首先要找一個主機來存放自己的頁面,當然有很多地方是可以免費為大家提供主機服務的,比如著名的代碼托管網(wǎng)站github。

今天IPFS為我們提供的新的選擇,下面就來介紹一下如何基于IPFS創(chuàng)建一個靜態(tài)個人網(wǎng)站。

如果還沒有讀過上一篇《如何在IPFS里面上傳一張圖片》,可以先閱讀一下,本文是建立在上一篇基礎上的

1 常見的html頁面,通常由 html,css,js文件構(gòu)成

創(chuàng)建一個文件夾來存放我們頁面:demo

在文件夾下面創(chuàng)建一個文件 index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hello IPFS</title>
<!-- Bootstrap -->
<link href="./bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-xs-12">
<h1 style="text-align: center">Hello IPFS!</h1>
</div>
<div class="col-xs-12">
<h3 style="text-align: center">飛向未來</h3>
</div>
<div class="col-xs-12">
<h3 style="text-align: center">時間:2017-12-26 19:35</h3>
</div>
<div class="col-xs-12">
<h3 style="text-align: center">微信公眾號: IPFS指南(ipfs_guide)</h3>
</div>
<div class="col-xs-12">
<img src="./wechat_mp.jpeg" class="img-rounded img-responsive center-block">
</div>
</div>
</div>
<script src="./jquery.min.js"></script>
<script src="./bootstrap.min.js"></script>
</body>
</html>
本文使用了bootstrap框架進行排版,把bootstrap文件同時放到文件夾demo下面。

于是你的文件夾結(jié)構(gòu)如下:

demo:
--- index.html
--- bootstrap.min.
--- cssbootstrap.min.js
--- jquery.min.js
--- style.css
--- wechat_mp.jpeg
一個網(wǎng)站具備的全部元素都在這里了。

2 發(fā)布網(wǎng)站到IPFS上面

根據(jù)之前文章介紹的方法,如果你的IPFS節(jié)點沒有啟動,首先要執(zhí)行 ipfs daemon 啟動節(jié)點,只有節(jié)點啟動才能與其它節(jié)點建立連接,把你的網(wǎng)站發(fā)布出去。

命令行定位到文件夾的上層文件夾,執(zhí)行

ipfs add -r demo
返回值如下:

localhost:Desktop tt$ ipfs add -r demo
added QmYUaCPwvJWiueRXFSTTv8vdedWWzRhRdn8RMw35e7k67u demo/bootstrap.min.css
added QmNXRFREw7waGtKW9uBUze3PkR9E12HeeAQSkZQSiFUJqo demo/bootstrap.min.js
added QmaoVnNzLmM23M9EAGk7vPJMN2MHLUJQNT8Rs4nVWr2nPG demo/index.html
added QmWS8GZ4yk69ZHtBWx9RwSGc6WW7DMeCVmc74iVYnC5WQC demo/jquery.min.js
added QmZjV1QuvTkVcaR1qkvxM2RjCicYx2B8tVKLgEx8V7TUgV demo/style.css
added QmNrDoGiTMpZmmbMq1ocZvoQ7vRbZqybpe2vrvbnW6fvXb demo/wechat_mp.jpeg
added QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS demo
這是小編的電腦上的輸出結(jié)果,你的可能會不一樣。除非你嚴格的跟小編的內(nèi)容一致,IPFS是內(nèi)容尋址,只要內(nèi)容完全一樣,生成的哈希值就一樣。

3 查看你發(fā)布的網(wǎng)站

上面輸出的最后一行,demo的文件夾哈希值,就是你的網(wǎng)站的根目錄,可以使用http://ipfs.io提供的網(wǎng)關(guān)查看https://ipfs.io/ipfs/QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS

截止到現(xiàn)在我們完成了網(wǎng)站的發(fā)布,是不是很簡單。

http://ipfs.io網(wǎng)關(guān)最近有點不太穩(wěn)定,可能打開的時間稍長

4 IPNS

哈希跟ip地址一樣難以記憶和傳播,ipfs提供ipns來解決這個問題,ipns允許為哈希地址綁定域名,很簡單,只需要在域名解析里面添加一條TXT記錄即可:

dnslink=/ipfs/<your_hash>
例如小編的哈希地址是 QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS

TXT解析的值為: dnslink=/ipfs/QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS

一旦域名解析生效,那么我們可以通過 http://ipfs.io/ipfs/your.domain 來訪問網(wǎng)站了。

5 域名綁定

每次發(fā)布,只要內(nèi)容有變化(如果沒變化,你也不會重新發(fā)布網(wǎng)站),那么生成的哈希一定是不一樣的,那樣我們是不是要每次都去設置一下DNS的TXT解析呢?當然不用,如果這樣子,這個技術(shù)就沒有存在的必要了,ipns支持現(xiàn)有的域名系統(tǒng)。

我們可以為我們的網(wǎng)站綁定已有的域名:

第一步:執(zhí)行:ipfs name publish your_hash,your_hash是剛才生成的文章根目錄demo文件的哈希地址

localhost:Desktop tt$ ipfs name publish QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS
Published to QmaiXZeg5PQ2CqojCTCHi9ftmPJmhiC6kRYKDx4TJ3Frxu: /ipfs/QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS



ipfs name publish命令后面的的哈希值就是網(wǎng)站根文件目錄 demo的哈希值。命令的輸出分為兩部分,意思是把你的地址 /ipfs/QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS 發(fā)布到了你的 節(jié)點IDQmaiXZeg5PQ2CqojCTCHi9ftmPJmhiC6kRYKDx4TJ3Frxu下面。

第二步:查看解析是否生效 ipfs name resolve your_id_hash

localhost:Desktop tt$ ipfs name resolve QmaiXZeg5PQ2CqojCTCHi9ftmPJmhiC6kRYKDx4TJ3Frxu
/ipfs/QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS



可以執(zhí)行 ipfs id隨時查看你的節(jié)點ID。這個時候我們就可以使用節(jié)點ID來訪問網(wǎng)站,http://ipfs.io/ipns/QmaiXZeg5PQ2CqojCTCHi9ftmPJmhiC6kRYKDx4TJ3Frxu/,注意這里使用的是ipns,而不是ipfs。

因為我們節(jié)點ID是不會發(fā)生變化的,以后每次更新完網(wǎng)站,只需要發(fā)布一次ipfs name publish就可以重新進行綁定。我們訪問的地址就會一直保持不變。

第三步:綁定域名

既然我們有了一個不會發(fā)生變化哈希,那么域名綁定就變得簡單了。修改我們上面的DNS的TXT解析值:

dnslink=/ipns/IDQmaiXZeg5PQ2CqojCTCHi9ftmPJmhiC6kRYKDx4TJ3Frxu
等待解析生效,

等待中......

等待中......

等待中......

然后,你就可以使用自己的域名來訪問網(wǎng)站了。

最后,每次網(wǎng)站有更新,執(zhí)行 ipfs add 后,需要執(zhí)行一次 ipfs name publish重新發(fā)布一下,就可以了。

完美的跟現(xiàn)有的域名系統(tǒng)結(jié)合在了一起,這才是好的技術(shù)。

(如果訪問不了,不要怪小編,小編真的沒有騙你,是因為ipns這個版本特別的慢,小編還有其他開發(fā)者都在跟ipfs開發(fā)團隊抱怨這個問題,他們承諾下個版本解決)

對于想創(chuàng)建自己個人網(wǎng)站的讀者,可以使用已有的靜態(tài)網(wǎng)站生成器,比如 hexo,jekyll等,當然這不在本文討論的范圍,有興趣的讀者可以自己去學習一下。

如果有不明白地方,小編歡迎大家隨時進行討論!

今天就講到這里,這幾天小編身體略感不適,有發(fā)燒的跡象,只要小編不倒下,就會持續(xù)的為大家?guī)砭实奈恼拢瑸榇蠹移占癐PFS,F(xiàn)ilecoin相關(guān)知識。

最后放一張截圖: 這就是本文的例子!

域名訪問:http://test.ipfschina.io/

IPNS域名:https://ipfs.io/ipns/test.ipfschina.io/

節(jié)點id訪問:https://ipfs.io/ipns/QmTrRNgt6M9syRq8ZqM4o92Fgh6avK8v862n2QZLyDPywY/

哈希訪問:https://ipfs.io/ipfs/QmR29A5xJ4W2fF8SMnFsPRQTPBLcQLCBA5XQzdxZ5Rzpwn/


本專欄的微信公眾號IPFS指南(ipfs_guide),致力于IPFS的知識的普及,如果你對IFPS、Filecoin,挖礦感興趣,敬請關(guān)注!

本專欄的文章允許轉(zhuǎn)載,但請注明:原文來自于本站專欄:IPFS指南(IPFS指南)作者:飛向未來

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉