大多数人熟悉的传统网络存在于集中式服务器上,传统互联网的中心化方面存在着很多潜在的问题,服务器也很容易遭到黑客攻击或崩溃,从而使用户无法获得信息和数据。IPFS是领先的分布式 P2P(点对点)存储网络,有可能消除与传统网络存储系统相关的一些问题。在本文中,将由鑫链财经(xinchaincaijing.com)的小编分享上传文件到ipfs分布式存储服务器的方法。
什么是 IPFS(星际文件系统)?
IPFS 或“星际文件系统”于 2015 年由 Protocol Labs 公司开始开发。IPFS 是一种去中心化协议,用于存储网站、应用程序和文件等数据。IPFS 的主要好处是它消除了中心化的一些问题,例如单点故障和审查制度。
IPFS 能够通过使用称为基于内容的寻址的概念来实现去中心化存储系统。许多其他系统使用基于位置的寻址,这意味着根据数据的位置找到内容。在基于内容的寻址中,我们根据内容本身查找内容。因此,我们不需要告诉我们的计算机文件所在的位置,而是可以查询我们要查找的内容。
该系统允许我们分发内容,而不是将所有内容集中在服务器中。因此,没有任何一个实体可以控制数据,因此不能审查内容。通过分布式,我们还可以消除与中心化相关的单点故障问题。
IPFS 是如何工作的?
IPFS是一个P2P存储网络,其中的内容和文件可以通过对等点访问。这些对等点可以位于任何地方并中继/存储信息。IPFS的一个核心方面是内容寻址,其中文件、网站等是根据内容而不是位置找到的。
但是,要了解其工作原理的来龙去脉,您需要掌握三个基本原则:
通过内容寻址进行识别——IPFS使用所谓的内容寻址来查找文件、网站、应用程序等。内容是通过“其中的内容”而不是“它所在的位置”找到的。从本质上讲,这意味着 IPFS 协议中的每一条内容都有一个 CID(内容标识符),它是一个哈希值。每个散列对于内容的来源都是唯一的。
通过 DAG(有向无环图)进行内容链接——IPFS使用分布式系统,该系统利用称为 DAG(有向无环图)的数据结构。更具体地说,IPFS使用 Merkle DAG,其中所有节点都有一个标识符,其形式为节点内容的哈希值。
此外,为了构建用户内容的 Merkle DAG 表示,IPFS通常将其拆分为块的各个部分。因此,不同的文件部分可以来自多个来源并有效地进行身份验证。这类似于使用BitTorrent,它可以同时从多个对等点获取文件。
通过 DHT(分布式哈希表)进行内容发现——为了找出哪些节点正在托管您正在查询的内容,IPFS使用 DHT(分布式哈希表)。哈希表是键到值的数据库。因此,DHT是分布式网络中跨节点拆分的表格,要查找内容,您需要询问这些节点。
为什么要上传文件到 IPFS?– IPFS 的好处
由于 IPFS 是一种去中心化的 P2P 协议,它为传统的存储和访问内容的方式提供了几个好处。因此,探索 IPFS 的一些主要优势来回答“为什么要将文件上传到 IPFS? ”这个问题是很有趣的。”。
高效且便宜——在传统的 HTTP 系统中,文件一次从一台服务器下载。相比之下,IPFS 的 P2P 系统同时从多个节点检索内容。这使得系统更加高效,因为它可以节省大量带宽。此外,效率的提高有助于降低系统成本。
弹性——根据 IPFS 的网站,网站的平均寿命是 100 天,然后才会完全消失,IPFS 认为系统不应该那么脆弱。IPFS 通过简化创建用于镜像数据的网络来提供更具弹性的系统。此外,内容寻址确保 IPFS 的内容是自主版本化的。
去中心化——当前互联网的一个普遍特征和存储内容的方法是中心化。中心化使得审查信息变得容易,并产生单点故障问题。IPFS 的去中心化特性通过提供一个扁平和开放的网络消除了这些问题。
可用性——IPFS 有助于创建弹性网络,从而实现更持久的可用性。例如,这会导致发展中国家的连接性增加,或者仅仅是在使用糟糕的咖啡店 WiFi 时。
这涵盖了该系统的一些主要优点以及您应该将文件上传到 IPFS 的原因。现在,如果您想更深入地研究 IPFS,以下部分将简要介绍 IPFS 工作原理的复杂性!
如何通过6个简单步骤上传到 IPFS
由于 Moralis 原生支持 IPFS,因此将文件上传到 IPFS 的过程变得相对简单。因此,我们可以只用一行代码上传文件。为了展示与 Moralis 合作的力量,我们将在本文中创建一个简单的 dApp,用户可以在其中将NFT等文件上传到 IPFS。
在创建dApp之前,我们首先需要一个Moralis帐户。造成这种情况的众多原因之一是我们需要初始化Moralis,为此,我们需要创建自己的服务器。因此,如果您没有帐户,可以先注册Moralis。拥有帐户后,我们就可以开始设置我们自己的Moralis服务器的第一步。
第 1 步:创建 Moralis 服务器
因此,该过程的第一步是创建 Moralis 服务器。为此,我们需要做的就是单击 Moralis 界面右上角的“+ 创建新服务器”。
如果我们单击此按钮,将出现一个小的下拉菜单,其中包含三个不同的选项。对于本教程,选择哪一个并不重要。但是,我们将选择“主网服务器”替代方案。如果选择了其中任何一个选项,我们将看到一个新窗口,我们需要在其中输入名称、选择区域并选择网络。由于 Moralis 支持跨链兼容,我们可以选择多个网络。
完成所有选项后,我们可以单击“添加实例”按钮来启动实例。这可能需要一段时间,但服务器很快就会启动并运行。
有了服务器,我们可以点击“查看详细信息”按钮。这将为我们提供各种信息。从细节来看,我们主要对“Server URL”和“Application ID”感兴趣。我们可以继续复制此信息,因为我们将在下一步中使用它。
第 2 步:如何上传到 IPFS——从 Moralis 导入样板代码
一旦我们有了服务器、服务器 URL 和应用程序 ID,我们就可以继续创建应用程序本身。在我们从 Moralis 获取样板代码之前,我们需要创建一个 HTML 文件。我们将该文件称为“ipfs.html”,但您可以随意调用它。
准备好文件后,我们可以访问Moralis 文档。我们需要做的就是将代码复制并粘贴到我们的 HTML 文件中并进行一些调整。
代码做的第一件事是安装 Moralis SDK(软件开发工具包)。安装 SDK 后,我们继续编写 HTML 代码。最初,样板代码包含两个按钮,一个用于登录,一个用于注销。对于这个演示,我们将删除这些并实现我们自己的一些字段和按钮。
首先,我们将标题更改为“IPFS Demo”。在此之后,我们添加一个登录按钮,后跟元数据名称的输入字段。然后我们为元数据描述添加一个文本区域,后面是一个文件输入字段。最后,我们有一个按钮,它承载一个触发我们功能之一的“onclick”事件。
第 3 步:如何上传到 IPFS——创建登录功能
现在,服务器启动并运行并实现了样板代码,我们可以继续创建 dApp 的第一个功能。我们将开发一个登录功能,允许用户通过MetaMask对自己进行身份验证。
我们可以从创建一个称为“login()”的异步函数开始。再一次,我们可以从Moralis 文档中获取一个模板,我们可以将其复制并粘贴到我们的函数中。
默认情况下,使用 Moralis 对用户进行身份验证是通过 MetaMask 进行的。因此,一旦该功能被触发,用户的 MetaMask 扩展程序将打开,允许他们通过钱包进行身份验证。但是,也可以使用 WalletConnect 等进行身份验证。
第四步:如何上传到IPFS——上传图片功能
我们将继续创建另一个用于将图像上传到 IPFS 的异步函数。我们可以将此函数称为“uploadImage()”,与上一个函数一样,我们将从Moralis 文档中获取必要的代码。
将文件保存到 IPFS 后,我们可以访问文件的 URL 及其哈希值。访问这两个元素的命令在上图中注释掉的行中。我们可以将这些备选方案中的任何一个记录到控制台,但这不是必需的。但是,我们要确保该函数返回“file.IPFS”,这将返回文件的 URL。
第五步:如何上传到IPFS——上传元数据对象函数
NFT 等代币附有元数据是很常见的。因此,我们将创建一个将元数据对象上传到 IPFS 的功能。在此示例中,对象的元数据将是名称、描述和图像。因此,我们可以创建一个名为“uploadMetadata(imageURL)”的新函数。
在我们创建元数据对象之前,我们需要获取名称、描述和用户输入到我们 dApp 的 UI 中的图像。为此,我们可以创建一个名为“name”的变量,从中获取 HTML 元素的信息。然后我们可以继续为变量“description”做同样的事情。另一方面,对于图像,我们不会这样做,因为我们会将图像的 URL 作为函数的参数传递。
第 6 步:如何上传到 IPFS——创建一个函数来执行代码
“uploadMetadata()”函数中缺少一个元素,它是我们要作为函数参数传递的 URL。因此,为此,我们将创建另一个函数,将 dApp 的其他函数联系在一起。
我们将调用此函数“gogogo()”,一旦用户点击 UI 的“gogogo”按钮,它就会触发。
如何将文件上传到 IPFS——总结
作为 Moralis 用户,我们可以快速轻松地构建用于将文件上传到 IPFS 的 dApp。我们可以这样做,因为我们可以从 Moralis 文档中访问已经准备好的样板代码,并提供一个已经管理的后端基础设施。因此,我们可以按照以下六个简单步骤创建我们的 dApp:
1. 创建莫拉利斯服务器。
2. 从 Moralis 导入样板代码。
3. 创建一个登录函数。
4. 创建用于上传图像的函数。
5. 创建用于上传元数据对象的函数。
6. 创建一个函数来执行代码。
按照这六个步骤,我们可以创建这个 dApp,我们可以用它在几分钟内轻松地将文件上传到 IPFS。
以上内容介绍了把文件上传到IPFS服务器的方法。IPFS技术,在一定程度上优于现在的集中式服务器,可以有效的降低数据丢失与被黑客攻击的风险。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。