第五系列
时间:2024-11-12 22:01:01
IPFS是一个游戏转变者。与当今的web比起,IPFS实质上可以构建一个分布式的、永久的web。IPFS利用点对点架构,其中每个节点既是客户端又是服务器。
如果您从网络催促某些内容,网卓新闻网,则将您催促的内容获取给其他节点。除了点对点体系结构,我们在IPFS上检索内容的方式也是革命性的。
我们不是通过内容的方位即IP地址来标识内容,而是通过对内容本身展开散列创立的唯一标识符来标识内容。这称作内容传输速率。
出于以下几个原因,这十分简单:· 数据持久性。如果许多同行享有您想的内容,您将从最相似的同行那里取得。
即使内容的完整上传者已脱机,但由于内容已传输速率,因此您很有可能仍不会取得它。与今天的web比起,如果服务器宕机,内容也随之宕机,这是一个相当大的改良。· 内置安全性。
由于内容标识符(CID)是通过对内容本身展开哈希处置而创立的,因此您一直可以保证几乎取得所需的内容。无法愚弄系统,因为如果您改动内容,其标识符将随之转变。打算入门在开始之前,我想要再行解决问题一些问题。IPFS客户端有两种构建,一种在JavaScript,另一种在Go。
在这里,JavaScript或许是最差的自由选择,但是由于它正处于比Go客户端早的研发状态,因此这不是最佳自由选择。我们将用于Go客户端,并通过其API与Node相连。先决条件:1. Node.js(最差是更高版本之一)和npm2. go-ipfs客户端3. postman或curl,用作向我们的REST API发出请求首先,我们的节点必需以在线模式运营,因此关上一个终端并运营ipfs daemon。
您应当不会看见以下内容:在第19行,您可以看见API服务器正在侦听端口5001。这是我们必须相连的端口。
其次,创立一个新的项目目录并运营npm install ipfs-http-client。这是我们必须相连到正在运营的IPFS节点的软件包。
接下来,让我们创立js文件,在该文件中我们将相连到节点:在第3行上,我们实质上相连到城主程序API服务器。现在,我们可以开始在ipfs对象上执行命令以与网络交互。举例来说,让我们撰写一个向IPFS加到一些文本的函数:在第1行上,我们创立一个要加到到IPFS的对象。
路径是我们期望在IPFS上调用文件的路径(可以包括目录),内容是我们要加到的文件的Buffer(在这种情况下,只是显文本)。接下来,我们用于ipfs.add()将文件加到到ipfs中,这将回到包括所有已加到文件的数组。因为我们只加到了一个,所以console.log()的结果将是:如果之后展开,您不会找到哈希字段每次都会完全相同,因为您加到了与我完全相同的内容。
另外请注意,路径名会影响内容标识符。如果现在要检索内容,则有两种可能性:· 用于您的本地网关服务器:http//localhost:8080/ipfs/QmWfVY9y3xjsixTgbd9AorQxH7VtMpzfx2HaWtsoUYecaX· 网关服务器由您的IPFS城主进程启动。用于公共网关:https://gateway.ipfs.io/ipfs/QmWfVY9y3xjsixTgbd9AorQxH7VtMpzfx2HaWtsoUYecaX所有这些都早已很棒了,但让我们想到如何在应用程序中用于它。
为了展示更加多功能,让我们用于Express创立一个小的REST API。建构应用程序不要记得运营npm install express。
让我们从一些样板代码开始:之后运营它,后用curl :3000 其展开测试。您应当看见 Welcome to my IPFS app。现在加到一条POST路线:现在,我们可以与postman一起测试这条路线。创立一个新的POST催促到http:// localhost:3000 / upload。
本文来源:中欧体育-www.hnxl-edu.com