IPFS可变文件系统:检查目录状态

2020-04-10 09:56:49

在我们的ProtoSchool教程中,每次您单击课程中的“提交”按钮时,我们都会在浏览器中为您创建一个新的IPFS节点。每当您ipfs.someMethod()在我们的课程中看到ipfs该变量时,它都是一个变量,它引用您的IPFS实例,也称为节点。您执行的操作仅影响您自己的IPFS节点,而不影响属于对等节点的节点。

  在ProtoSchool中处理文件

  在我们的ProtoSchool教程中,每次您单击课程中的“提交”按钮时,我们都会在浏览器中为您创建一个新的IPFS节点。每当您ipfs.someMethod()在我们的课程中看到ipfs该变量时,它都是一个变量,它引用您的IPFS实例,也称为节点。您执行的操作仅影响您自己的IPFS节点,而不影响属于对等节点的节点。

  我们正在幕后创建IPFS节点,因此您可以专注于本课的内容,但是最终您需要通过在终端中安装IPFS和运行守护程序来学习在本地托管自己的节点。当您准备进行实验时,可以在我们的文档中找到有关安装IPFS和初始化节点的说明。

  如前所述,与Mutable File System相关联的方法是Files API的一部分,因此它们将采用的格式ipfs.files.someMethod()。让我们看一个甚至可以在将任何文件添加到IPFS节点之前就可以开始使用的简单方法。

  探索您的IPFS节点 ipfs.files.stat

  在使用IPFS节点时,您通常需要检查文件或目录的状态。您可以使用进行此操作ipfs.files.stat,并传递您要检查的路径。

  例如,要检查stuff位于我们的根目录(/)中的目录的状态,我们可以这样调用方法:

  await ipfs.files.stat('/stuff')

  此方法返回一个对象,其中包含有关文件或目录的一些基本数据:

  cid(CID对象)

  大小(一个整数,以字节为单位的文件或目录大小)

  累积大小(一个整数,该整数与组成文件的DAGNodes的大小(以字节为单位))

  类型(可以是directory或的字符串file)

  (如果type为directory,则为目录中的文件数;如果type为file,则为构成文件的块数)

  withLocality(一个布尔值,指示是否存在位置信息)

  本地(指示所查询的dag是否在本地完全存在的布尔值)

  sizeLocal(一个整数,指示本地存在的数据的累积大小)

  知道了!该size目录始终是0,不管有多少条目中包含的,因为目录其实只是一组链接到其他文件和目录。目录的cumulativeSize,相反,改变为目录中的内容变化。它不仅表示该目录中所有条目的文件大小,还表示描述这些条目的元数据:类型,块大小等。

  重要的是要注意,stat即使您还没有任何内容,也可以打开IPFS节点。即使是空节点也具有CID。


6.jpg


最新推荐