IPFS:从零到分布式网站

分散站点的关键在于分散地托管它们,这就是 IPFS 发挥作用的地方。让我们稍微熟悉一下 IPFS 以及如何使用它来托管网站!

什么是 IPFS?

星际文件系统(IPFS)是一种协议和点对点网络,用于在分布式文件系统中存储和共享数据。
它与 Torrent 所做的非常相似,但是除了接收允许它托管的内容外。一切都是分布式的。
但是 interplanetary staff?非常简单,这背后的想法是使互联网连接成为可能,即使你非常遥远。它允许你从附近的某个人检索文件,而不是从几千公里或几百万公里以外的某个地方,比如其他星球获取文件。然而,这是这个项目理想的目标。
目前,它还有两个附加的优点(除了加快从遥远的数据中心获取文件的优点):
  • 它使互联网更具弹性,即使主节点关闭,您的用户也可以从其他地方获取您的网页。
  • 审查内容变得更加困难,没有任何地方可以影响和阻止您的内容。

安装 IPFS

要首先在计算机上安装 IPFS,您需要下载适用于您的操作系统和平台的发行包。按照官方发行页面查找适合您的软件包。下载并找到安装包后,请遵循以下操作系统特定的部分:
MacOS 或 Linux
解压您的包裹:

					
$ tar xvfz go-ipfs_*.tar.gz
运行安装(基本上它将二进制文件移至可执行文件$PATH中的某个位置)

				
$ cd go-ipfs
				
$ ./install.sh
窗口
解压下载的软件包,然后手动将 ipfs.exe 移到您的%PATH%的某个位置(或者放置到某个特定的目录并更新%PATH%变量)
安装后,您可以运行以下命令检查是否一切正常:

					
$ ipfs -—version
					
ipfs version 0.5.1
因此,现在我们准备好将您的网站托管在 IPFS 上。

基本

让我们从基本用法开始,对执行操作的原因进行解释。
由于 IPFS 存储所有设置,并且首先在本地存储库(类似于Git)中完成,所以我们需要使用以下命令对其进行初始化:

			
$ ipfs init
			
initializing IPFS node at /home/[username]/.ipfs
			
generating 2048-bit RSA keypair…done
			
peer identity: QmQddxyRmLoShfP2HeJwzcoGoh2tD7crwUeRevFBg6Lt48
			
to get started, enter:
			
ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme
您可以使用上面建议的命令来查看 IPFS(即自述文件)中已固定的内容:

				
$ ipfs cat
				
/ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme
				
Hello and Welcome to IPFS!
				
...
				
If you're seeing this, you have successfully installed
				
IPFS and are now interfacing with the ipfs merkledag!
				
...
				
Check out some of the other files in this directory:
				
./about
				
./help
				
./quick-start <-- usage examples
				
./readme <-- this file
				
./security-notes
请注意,您的情况下哪些粗体哈希可能会有所不同。第一个代表您在 IPFS 网络中的对等身份。第二个是自述文件,关于,帮助,快速入门和安全说明文件的当前固定版本。您可以使用类似于上述命令的所有文件。

让您上网

为了使我们的节点联机并连接到 IPFS 网络,我们需要使用以下命令运行 IPFS 守护程序:

					
$ ipfs daemon
					
Initializing daemon…
					
go-ipfs version: 0.5.1
					
Repo version: 9
					
System version: amd64/linux
					
Golang version: go1.13.10
					
Swarm listening on /ip4/127.0.0.1/tcp/4001
					
Swarm listening on /ip4/192.168.1.190/tcp/4001
					
Swarm listening on /ip6/::1/tcp/4001
					
Swarm listening on /p2p-circuit
					
Swarm announcing /ip4/115.187.39.125/tcp/4001
					
Swarm announcing /ip4/127.0.0.1/tcp/4001
					
Swarm announcing /ip4/192.168.1.190/tcp/4001
					
Swarm announcing /ip6/::1/tcp/4001
					
API server listening on /ip4/127.0.0.1/tcp/5001
					
WebUI: http://127.0.0.1:5001/webui
					
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
					
Daemon is ready
在另一个使用以下命令的终端中,您可以检查连接到的对等方:

				
$ ipfs swarm peers
				
/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ
				
...
用粗体突出显示的是单个对等方的传输地址。还要注意节点的公钥哈希(对等身份)。
在启动守护程序时,您可能还会注意到以下行:

				
...
				
WebUI: http://127.0.0.1:5001/webui
				
...
这是您要与节点一起使用的节点的 Web 界面地址:
请注意,由于安全原因,5001 端口不会对外公开。但是,如何远程连接到您的节点(或您的VM)也有同样好的安全方法。为此,您可以使用以下命令使用 SSH 隧道将本地 5001 端口转发到您的节点:

				
ssh -L 5001:localhost:5001 [username]@[server-address]
您可以使用 WebUI 来管理 IPFS 节点上的文件,查看各种使用情况统计信息,并以更友好的方式配置节点。

去中心化网站

让我们开始第一个分散的网站。首先,我们将需要一个网站(我将不做过多解释,但总之,您只需要在 HTML/JS/CSS 上创建网站)。例如,使用我为您准备的模板(顺便说一句,该模板托管在 IPFS 上)。
我将假定您已从上面下载了软件包并将其解压缩到 ipfssite 目录:

						
$ ls ipfssite/
						
css images index.html js
为了发布它,您需要在节点上启动守护程序。之后,您可以运行以下命令来部署它:

							
$ ipfs add -r ipfssite
							
added QmNrgEMcUygbKzZeZgYFosdd27VE9KnWbyUD73bKZJ3bGi ipfssite/css/bootstrap.min.css
							
added QmToWAMXJFSi2s22JqfmajL4WPJZJdnzJtzSV1TaUdkFLp ipfssite/css/styles.css
							
added QmSyc5sQa4smKUvNaZtr6y44et5gVgzsf4RaWD7tu1PgCk ipfssite/images/ipfs-logo.svg
							
added QmamZxnEKaAwdLEoCtC7w4jwaVuR7ztb1cLayDQGM9DVci ipfssite/index.html
							
added QmZqVNydZxRrioxHwMxCa5CQs7yRLPqnKUexuyrTkJhBwa ipfssite/js/bootstrap.min.js
							
added QmWirprJ5C4m1rVmEKS1Wf3WBviqpoFgp64QvWACsa7wC8 ipfssite/js/jquery-3.3.1.slim.min.js
							
added QmPNoejVoMRayPqLzsKzYNLh8p5yGKyA5PBFJ3sw2xLDM3 ipfssite/js/popper.min.js
							
added QmbkVCDQ95ypMH8VWHACsCyZPxerwRrpfXZ5y3TDBGS3Rd ipfssite/css
							
added QmWJP6sa19yUjco7YXCVyqXoeX2L4378yzcTJWYxZWoMK3 ipfssite/images
							
added QmcZSAjXfTdciMAS9zjLjWcmRRcF3QTnBTqM66zzKCQAT1 ipfssite/js
							
added Qmf2EuEZJXUtwuMRALgTsN6xsDQy5g8s4H5BQKLvMYE2dV ipfssite
							
301.28 KiB / 301.28 KiB
							
[=============================================] 100.00%
最后一个哈希(用于目录本身)是您必须记住的。之后,您可以通过以下网址访问网站(输入上面收到的哈希):
http:// localhost:8080 / ipfs /Qmf2EuEZJXUtwuMRALgTsN6xsDQy5g8s4H5BQKLvMYE2dV
甚至以下之一:
https://ipfs.io/ipfs/Qmf2EuEZJXUtwuMRALgTsN6xsDQy5g8s4H5BQKLvMYE2dV

请耐心等待最后一个网址,首次打开它可能需要一些时间。
我们不要在这里停下来,使其更加友好,毕竟很难通过短信发送这样的哈希值或者很难记住。
为此,您将需要您的域名。转到域名管理,并创建TXT类型的注意DNS记录以将其连接到您的网站。就我而言,我需要创建以下记录(再次,不要忘记更新到您在先前步骤中获得的哈希值):

							
dnslink=/ipfs/Qmf2EuEZJXUtwuMRALgTsN6xsDQy5g8s4H5BQKLvMYE2dV
您可以通过执行以下命令检查域名是否更新:

						
dig +noall +answer TXT [your-domain-name]
						
[your-domain-name]. 60 IN TXT
						
“dnslink=/ipfs/Qmf2EuEZJXUtwuMRALgTsN6xsDQy5g8s4H5BQKLvMYE2dV”
一段时间后,DNS记录将通过世界上的DNS服务器进行更新,您将可以使用以下方式访问您的站点:
http:// localhost:8080 / ipns / [您的域名]
http://gateway.ipfs.io/ipns/ [您的域名]
End
非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。
FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用
公众号:filcloud

24小时热点

afd爱发电是什么网站 afd登录入口在哪

为什么需要爱发电? 我们认为,长期耕耘一件事或几件事的创作 ...

1741882

SAN币

fc2是什么网站?fc2点击在此访问

FC2是日本最大的乃至亚洲最大的域名服务商,也是一家全面的网 ...

1969026

币团交易所

gpt4.0中文版免费

GPT-4(生成预可训练技术4.0)是一个由OpenAI开发 ...

3933665

维公链

f2pool鱼池官网

f2pool是一个国际性Premine挖矿池,它是一个早期通 ...

1402030

Smart Contract

地铁派上海地铁俱乐部

海派上海地铁俱乐部是由上海市地铁交通公司(SMTC)所创办的 ...

899952

BitKeep钱包

十大虚拟币交易平台app汇总!

自从前两年比特币大火之后,带动了整个虚拟币行业,虚拟币也越来 ...

1148610

一岛

币圈大佬指出:派币(π币、pi币、pi network、兀币)是个无聊的骗局!

派币(π币、pi币、pi network、兀币)是绝对的杀猪 ...

1123193

中值联资讯

中国十大骗局之pi network(π币、pi币、派币、兀币)

中国十大骗局之pi network(π币、pi币、派币、兀币 ...

652760

Web 3.0

crowd1项目在中国合法吗

crowd1项目在中国合法吗?非常明确的告诉你,这是非法的项 ...

1079933

HitBTC交易所

外汇资金盘“海汇国际”涉嫌传销,已崩盘

近日,海汇国际涉嫌传销,资金盘口缺口达数亿,几乎资金全无,资 ...

943390

Bitget

热点专题

虚拟货币传销/诈骗案件的通常做法

当更多人似懂非懂的对虚拟货币有些模糊的概念,还搞不清比特币和 ...

4225595

瓦特(WBF)交易所

gpt4.0中文版免费

GPT-4(生成预可训练技术4.0)是一个由OpenAI开发 ...

3933665

维公链

iBox 链盒科技

据iBox官方消息,9月17日20:00,iBox将正式发布 ...

3410870

iBox

揭秘网络传销行骗七大套路!

不管网络传销打着什么旗号,戴着什么面具,即便有着“72变”, ...

3055365

A网(AOFEX)交易所

Gem和Genie功能大对比

2022年4月25日,OpenSea官方发推宣布收购NFT交 ...

2395214

TopHolder 头号藏家

Genie 就是一个 NFT 市场的交易聚合器

Web3 中的「聚合器」是一个非常重要的组件,例如 1inc ...

2361268

嗨艺购

一文读懂NFT 交易聚合器GEM

购买 NFT 的主要问题之一在于,限制了用户一次只能购买一个 ...

2321380

第九空间

fc2是什么网站?fc2点击在此访问

FC2是日本最大的乃至亚洲最大的域名服务商,也是一家全面的网 ...

1968787

币团交易所

亚洲最大成人平台“SWAG”网站关停,负责人被捕

2020 年,SWAG 发行了 6.25 亿枚治理代币 SW ...

1749969

NFT和元宇宙

afd爱发电是什么网站 afd登录入口在哪

为什么需要爱发电? 我们认为,长期耕耘一件事或几件事的创作 ...

1741276

SAN币