分布式网络已经吸引了我很长时间的注意力。 在对区块链进行一些研究时,我遇到了IPFS。 这引起了我的注意一段时间,我对永久的分布式Web概念感到惊讶。 虽然它不是新的,但我们都看到了它的部分内容(部分内容,将在短时间内描述)

IPFS最初由Juan Benet设计,由Protocol Lab拥有,现在已经在社区的帮助下开发了一个开源项目。

简而言之, IPFSInterPlanetory文件系统是一种点对点(P2P)超媒体协议,允许其用户设计和开发完全分布式的应用程序。 作为分布式文件系统运行,它将所有计算设备与相同的文件系统链接起来。 它支持大量数据的分发,并允许其用户为数据镜像创建弹性网络。

IPFS如何提交一切

与引用存储服务器的对象(文本文件,图片,视频)的HTTP协议不同,IPFS通过文件上的散列来引用所有内容。 这意味着它会根据文件中的内容创建文件哈希。 所以如果我们想要访问一个特定的页面,那么IPFS会询问整个网络,如果任何人有这个文件对应这个散列,并且IPFS上有这个散列的节点将返回允许你访问它的文件。

正如我刚才所说,IPFS使用HTTP层的内容寻址。 这是一种说法,而不是创建一个按位置来定位事物的标识符,我们将通过对内容本身的某种表示来解决它。 这意味着内容将决定地址。 其机制是采取一个文件并以加密方式对其进行哈希处理,这将为您提供文件的安全表示形式,以确保某人不会只是想出另一个具有相同散列的文件并将其用作地址。

虽然与HTTP协议类似,但它可以将任何类型的文件从文本传输到视频。 但是你一定在想..

它与HTTP不同

那么,传统上,HTTP遵循一个简单的客户端 - 服务器模型。 它有一个很好的属性,其中标识符是托管文件的计算机(服务器)的位置。 所以世界各地的客户端计算机都会从这个服务器上请求一个文件,而不管它们的位置。 该服务器将满足所有客户端请求并提供所有负载。 这通常工作得很好,但不是在离线情况下,或者在大部分分布式情况下,我们希望最小化网络负载。

鉴于IPFS适用于点对点分布式模型,有点类似于BitTorrent,使用类似版本控制系统的Git来管理,存储和跟踪通过HTTP的文件版本。 (正如我告诉过你,我们已经看到它的部分:))

所以人们可以认为IPFS就像HTTP web + Git + BitTorrent。

为了更多地理解它,

让我们深入IPFS的工作

让我们一步一步做 -

步骤1: 根据您的平台 下载并安装IPFS

可以从IPFS网站下载并将可执行文件移动到适当的位置。

在Mac / Linux上:

下载后,解压缩存档文件夹,并将ipfs文件移动到$PATH某处。 通过终端来做到这一点:

  sudo mv ipfs / usr / local / bin / ipfs 

对于Windows:

下载后,解压缩存档,然后剪下ipfs.exe并粘贴到%PATH%某处。 通过命令提示符执行此操作:以管理员身份运行命令提示符

  C:\>> move。\ go-ipfs \ ipfs.exe C:\ Windows 

第二步: 初始化IPFS

  $ ipfs init 在/Users/romiljain/.ipfs中初始化IPFS节点 
 生成2048位RSA密钥对...完成 
 同侪身份:QmWwvCycToWiUfMtoAWW9r5aEoeHK4KcmubtKhEmCGJJme 
 要开始,请输入: 
  ipfs cat / ipfs / QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv / readme 

并根据指示,当你进入

  $ ipfs cat / ipfs / QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv / readme 

你会看到这样的东西

请务必阅读警告:)

第3步:向IPFS添加文件

现在让我们添加一个文件到IPFS。 我们将从一个文件开始,第二部分将添加一个目录和多个文件来查看行为。

因此,将创建一个dir ipfsdir ,并将添加一个文件hello.txt,其内容为Hello World

  $ mkdir ipfsdir  $ cd ipfsdir  $ touch hello.txt 

现在让我们将这个文件添加到IPFS

  $ ipfs添加hello.txt 
 添加了QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u hello.txt 

第4步:将文件固定到IPFS

现在我们将把我们添加到IPFS的文件固定。 由于文件存在于我们的本地机器上,但通过固定文件,IPFS网络上的其他节点知道他们可以从我们的机器访问文件。

  $ ipfs pin add QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u 
 以递归方式固定QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u 

第5步:启动守护程序以将IPFS机器连接到网络

在这一步中,我们将把我们的机器引入IPFS网络。 这允许网络上的其他节点/参与者收听我们的机器并从我们的机器检索文件,反之亦然。

键入以下内容以连接到网络:

  $ ipfs守护进程 

你会看到像这样的东西

 正在初始化守护进程... 
 将当前ulimit调整为2048 ... 
 成功将文件描述符限制提高到2048。 
  Swarm在/ip4/127.0.0.1/tcp/4001上监听 
  Swarm在/ip4/192.168.0.101/tcp/4001上监听 
  Swarm监听/ ip6 / :: 1 / tcp / 4001 
  Swarm监听/ p2p-circuit / ipfs / QmWwvCycToWiUfMtoAWW9r5aEoeHK4KcmubtKhEmCGJJme 
  Swarm宣布/ip4/127.0.0.1/tcp/4001 
  Swarm宣布/ip4/192.168.0.101/tcp/4001 
  Swarm宣布/ip4/71.75.18.38/tcp/23917 
  Swarm宣布/ ip6 / :: 1 / tcp / 4001 
 监听/ip4/127.0.0.1/tcp/5001的API服务器 
 在/ip4/127.0.0.1/tcp/8080上监听的网关(只读)服务器 
 守护进程已准备就绪 

打开另一个终端并检查谁连接到您的机器:

  $ ipfs swarm peers 

Protocol Labs(它拥有IPFS)有许多引导节点正在积极寻找放置在网络上的新内容。

它维护一个HTTP -> IPFS网关,我们可以从他们的网站访问我们的任何一个文件,他们已经在他们的HTTP URL上挂载了IPFS系统: https://ipfs.io/ipfs/[yourHash]. ://ipfs.io/ipfs/[yourHash https://ipfs.io/ipfs/[yourHash].

运行下面的链接检查文件hello.txt,完全加载到IPFS上: https ://ipfs.io/ipfs/QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u

我们会看到Hello World

第6步:杀死守护进程

如果你想断开与网络的连接,不要忘记杀死守护进程。 这很容易。 转到守护进程正在运行的终端,然后按CTRL + C


现在你会理解IPFS的基础知识。 在第二部分中,我们将深入探讨IPFS对多个文件和目录(网站结构的种类)的工作,并且了解它的基本功能。


https://medium.com/@itsromiljain/ipfs-the-permanent-distributed-web-7a0d3ede10af

【译】IPFS — The Permanent, Distributed Web相关推荐

  1. 【译】IPFS — The Permanent, Distributed Web Continues…..

    在本系列的第1部分中 ,我们了解了IPFS,IPFS和HTTP之间的区别,后来又创建了一个文件以添加到IPFS中,并将其通过节点网络访问. 在本部分中,我们将把它提升到一个新的水平,我们将创建一个目录 ...

  2. Cloudflare通过集成ENS和IPFS推出通往分布式Web的网关

    互联网托管巨头Cloudflare推出了一个新的直接网关以支持分布式Web.根据周三的博客文章,Cloudflare将能够通过新的索引服务连接到在以太坊名称服务(ENS)和星际文件系统(IPFS)上托 ...

  3. 网页无障碍php,【译】开发无障碍的Web组件

    原文: http://www.zcfy.cc/article/320 这篇文章的审校工作是由Mallory van Achterberg完成的.谢谢所有SitePointer的审校者,因为你们,Sit ...

  4. Computer:IPFS(星际文件系统)的简介、安装、使用方法之详细攻略

    Computer:IPFS(星际文件系统)的简介.安装.使用方法之详细攻略 目录 IPFS的简介 1.IPFS的应用 IPFS的安装 IPFS的使用方法 1.下载文件 第一步,启动IPFS节点 第二步 ...

  5. 蜗牛星际最大加到多少内存_从零到星际英雄

    蜗牛星际最大加到多少内存 by Carson Farmer 通过卡森·法默 从零到星际英雄 (From Zero to Interplanetary Hero) 有趣的入门指南,介绍了基于浏览器的IP ...

  6. 区块链技术入门,涉及哪些编程语言?

    作者:Fickr Sung孫啟誠 链接:https://www.zhihu.com/question/46729645/answer/259780518 区块链学习更多的是去理解这种去中心化的思想和去 ...

  7. 区块链技术工坊 - 线下区块链技术分享

    尽管网络上,已经有不少文章讨论IPFS,不过真正讲明白IPFS想做什么的很少,文本尝试站在未来Web3.0的高度来看看IPFS究竟用来解决什么问题. DApp 的缺陷 对区块链有所了解的同学,知道区块 ...

  8. 【学习】Deep Learning for Deepfakes Creation and Detection

    论文题目:Deep Learning for Deepfakes Creation and Detection 翻译:基于深度学习的Deepfake创建与检测 作者: Thanh Thi Nguyen ...

  9. 区块链是什么,如何学习区块链技术?快速上手

    一.区块链是什么? 二.从技术角度学习区块链技术? 一.区块链是什么?区块链有很多的定义,大家的说法都不一样,业界都还没有统一.每个人心中都有自己的哈姆雷特.所以此处就不做定义了.也可以参考其他回答. ...

最新文章

  1. 创业3年!猎头加价50%!一半中层骨干被挖走,研发就剩2个应届生!绝户套餐真够狠的!...
  2. 美国科学院学报:如何在竞争激烈的环境下维持稳定的群体
  3. BugkuCTF-reverse:Easy_vb + Easy_Re
  4. mysql 复杂统计_MYSQL复杂查询
  5. 角色动作系统概述:战斗、3C相关
  6. mysql strcmp s1 s2_mysql常用函数
  7. 银行家舍入VS四舍五入(下):.NET发现之旅(四)
  8. 办公技巧:EXCEL10个常用函数介绍
  9. Cannot send session cache limiter - headers already sent问题
  10. 阿里北大:深度哈希算法最新综述
  11. 集群负载均衡之lvs和keepalived
  12. java归并算法实例_Java编程中实现归并排序算法的实例教程
  13. 折腾黑苹果——重装10.10.3 传统BIOS+MBR+变色龙 引导方案
  14. 用python读取Excel数据
  15. hdu5820 Lights
  16. 小程序源码:修复图片音频全新升级带特效喝酒神器小游戏微信小程序
  17. 最新App、手机网站尺寸规范—移动设备界面UI设计尺寸规范
  18. LambdaMart
  19. STM32串口通信中的USART_RecieveData函数分析
  20. 华为天才少年造出自动驾驶单车!图纸已开源,硬件成本一万,B站老板:重新定义「自行」车...

热门文章

  1. BS版代码生成器 简介
  2. JMeter基础之—录制脚本
  3. Webservice 或者HttpRequest请求的时候提示 “指定的注册表项不存在”错误 解决方案...
  4. 深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
  5. [云炬创业基础笔记]第九章企业的法律形态测试3
  6. ustc小道消息20211225
  7. 科大星云诗社动态20210225
  8. 科大星云诗社动态20210903
  9. 9 大主题!机器学习算法理论面试题大汇总
  10. 数据结构与算法必备的 50 个代码实现