知世金融网专注于股票行情,期货开户,外汇储备等最新相关资讯信息提供投资者参考学习!

当前位置:网站首页 > 区块链 > 正文

使用Node.Js构建IPFS应用程序

原创
文章作者
知世-金融领域资深作者
知名金融领域作者,从事金融超过十余年,在行业内有一定影响力。
金融风险管理师认证证书 常识职业资格认证 特许金融分析师 国际金融理财师认证证书
发布时间:2020-02-16 20:18:04 发布来源:区块链研究实验室 文章点击:112

IPFS是一个游戏改变者。与当今的web相比,IPFS实际上可以实现一个分布式的、永久的web。 IPFS利用点对点架构,其中每个节点既是客户端又是服务器。 如果您从网络请求某些内容,则将您...

目录

    本文标题使用Node.Js构建IPFS应用程序,作者:知世,本文有1101个文字,大小约为5KB,预计阅读时间3分钟,请您欣赏。知世金融网众多优秀文章,如果想要浏览更多相关文章,请使用网站导航的搜索进行搜索。本站虽然不乏优秀之作,但仅作为投资者学习参考。

    IPFS是一个游戏改变者。与当今的web相比,IPFS实际上可以实现一个分布式的、永久的web。 IPFS利用点对点架构,其中每个节点既是客户端又是服务器。 如果您从网络请求某些内容,则将您请求的内容提供给其他节点。

    除了点对点体系结构,我们在IPFS上检索内容的方式也是革命性的。我们不是通过内容的位置即IP地址来标识内容,而是通过对内容本身进行散列创建的唯一标识符来标识内容。这称为内容寻址。出于以下几个原因,这非常有用:

    · 数据持久性。 如果许多同行拥有您想要的内容,您将从最接近的同行那里获得。即使内容的原始上载者已脱机,但由于内容已寻址,因此您很有可能仍会获得它。与今天的web相比,如果服务器宕机,内容也随之宕机,这是一个很大的改进。

    · 内置安全性。由于内容标识符(CID)是通过对内容本身进行哈希处理而创建的,因此您始终可以确保完全获得所需的内容。无法欺骗系统,因为如果您修改内容,其标识符将随之改变。

    准备入门

    在开始之前,我想先解决一些问题。IPFS客户端有两种实现,一种在JavaScript,另一种在Go。在这里,JavaScript似乎是最好的选择,但是由于它处于比Go客户端更早的开发状态,因此这不是最佳选择。我们将使用Go客户端,并通过其API与Node连接。

    先决条件:

    1. Node.js(最好是更高版本之一)和npm
    2. 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 http://localhost:3000 其进行测试。您应该看到 Welcome to my IPFS app。

    现在添加一条POST路线:

    现在,我们可以与postman一起测试这条路线。创建一个新的POST请求到http:// localhost:3000 / upload。 您可以选择放入正文中的内容,但必须为JSON:

    如果一切顺利,您应该已经得到响应,并且从Express应用程序获得了一些终端输出:{path:'postman request',content:'postman said whassup'}。由于我们使用JSON中间件,因此req.body被解析为JS对象,这已经是我们需要向IPFS添加内容的格式。让我们通过修改和调用addFile函数扩展功能,然后通过公共网关返回指向已添加文件的链接:

    在第8行的addFile()中,我们将req.body数据作为参数并将其添加到IPFS。然后,我们返回fileHash,以便可以将其包含在作为响应发送回的链接中。如果现在我们对邮递员发出另一个POST请求:

    我们返回一个链接以在公共网关上查看我们的文件! 请注意,由于公共网关的速度可能很慢,因此实际上可能需要一段时间才能加载此链接。

    本文相关推荐: Web应用程序和云计算分析

    以上便是知世金融网给大家分享的关于使用Node.Js构建IPFS应用程序/qkl/28561.html的相关信息了,希望能帮助到大家,更多金融相关信息,敬请关注知世金融网!

    网站内容均来自互联网,如侵害您的利益联系客服进行删除!

    关键词:应用程序
    (0)
    (0)

    上一篇:揭秘去中心化 ID(一)

    下一篇:CZZ(ClassZZ)一个技术无限发展的链条

    本文标题:使用Node.Js构建IPFS应用程序

    本文地址:/index.php?s=article&c=search&keyword=%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F

    金融知名领域

    南方财富网 | 金融界 | 金融界 |

    更多推荐

    • 茅台吃饱,经销商哭倒
      茅台吃饱,经销商哭倒
    • 汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
      汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
    • 158亿元!比亚迪收购!
      158亿元!比亚迪收购!
    • 9月价格回落近五成 “冷静期”酒店业备战“十一”市场
      9月价格回落近五成 “冷静期”酒店业备战“十一”市场
    • 2023哈马博览会哈尔滨银行展区精彩纷呈
      2023哈马博览会哈尔滨银行展区精彩纷呈
    • 大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
      大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
    • A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
      A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
    • 最新!巨头出手,加仓宁王51%
      最新!巨头出手,加仓宁王51%
    • 600亿巨头暴雷
      600亿巨头暴雷
    • 一天32家!科创板回购潮涌来
      一天32家!科创板回购潮涌来
    • 提振信心实招来了!30余家上市公司密集出手 最高要买10亿
      提振信心实招来了!30余家上市公司密集出手 最高要买10亿
    • 高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成
      高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成

    新闻资讯栏目

    站长QQ: 2397470084