IPFS PIN对象 学习视频教程

来源:IPFS爱好者俱乐部  作者:星际宇航员  时间:2019-01-19

ipfs pin 简介

  pin 在英文中是大头针、钉住的意思。在 ipfs 中, pin 表示将文件长期保存在本地,不被垃圾回收。相当于微信的收藏功能。

ipfs pin 原理

  每个文件块都有自己的 pin 状态,由 pin 管理器 Pinner 进行管理。
ipfs 在做 GC 等操作时,会根据每个文件块在 pin 状态,对其做出相应的处理。

文件块 的 5 种 Pin 状态Recursive 状态

  文件块树被递归添加到 pin 中,根文件块的状态是 Recursive,非根文件块的状态是 Indirect

Direct 状态

  只有目标文件块添加到 pin 中, 子孙块不做处理,目标文件块的状态就是 Direct

Indirect 状态

  文件块树被递归添加到 pin 中,根文件块的状态是 Recursive,非根文件块的状态是 Indirect

Internal 状态

  ipfs 使用文件块来保存 pinner 状态,这些文件块的状态就是 Internal

NotPinned 状态

  文件块没有被 pin,在 GC 时会被删除


文件块的 pin 状态持久化

  IPFS PIN对象 学习视频教程

ipfs pin 使用
展示列出所有被 pin 的块ipfs pin ls列出 pin 为指定状态的块ipfs pin ls -t direct ipfs pin ls -t indirect ipfs pin ls -t recursive
增加递归 pinipfs pin add HASH直接 pin(只 pin 指定 hash 的文件块)ipfs pin add --recursive=false HASH
移除递归从 pin 中移除ipfs pin rm HASH直接从 pin 中移除ipfs pin rm --recursive=false HASH

  IPFS PIN对象 学习视频教程


ipfs gc 简介

  GC 是garbage collection的缩写,也就是垃圾回收的意思,ipfs GC 时会移除不需要永久保存在磁盘中的数据。

ipfs gc 原理GC 时的操作

  首先,创建一个 marked 列表,标记 GC 时不能删除的块, 这些块包括

  所有 recurse pinned 块, 以及其子孙块

  mfs root 块,以及其子孙块

  所有的 direct pinned 块

  为维护 pinner 状态,用到的所有 internal pinned 块

  接下来,通过块存储组件,遍历本地所有块的 Cid,如果 Cid 不在 marked 列表中,则删除该 Cid 对应的块文件。


定时检查是否 GC "Datastore": { "StorageMax": "10GB", // 最大存储空间, 实际上, 存储量超过该值仍可以继续存储 "StorageGCWatermark": 90, // 存储空间警戒线, 只有 已使用存储空间/最大存储空间 超过该值, 定时自动 GC 才会生效, 否则不会 GC "GCPeriod": "1h", // 每过 1h, 检查是否需要 GC ... },

  如配置所示,StorageMax 表明 ipfs 的最大存储空间,StorageGCWatermark 表明存储空间警戒线,GCPeriod 为检查是否 GC 的间隔时间。

  
当到达检查时间时,如果已用存储空间 > StorageMax * StorageGCWatermark,则会发生 GC。

  注意: 定时 GC 默认不开启,需要额外参数开启,开启方式下面会介绍。

执行 GC 命令

  当主动使用 ipfs GC 命令时,不管当前 ipfs 的存储情况是怎样,会立即发生 GC。

ipfs gc 使用启动定时 GC

  使用 ipfs daemon 启动 ipfs,并不会自动启动 ipfs 的定时GC功能。
需要开启相应的参数, 即 ipfs daemon --enable-gc, 才会启动 ipfs 的定时GC功能。

立即执行 GC

  ipfs 立即执行垃圾回收,不管已用存储空间是否到达存储空间警戒线

ipfs repo gc

  学习了以上的知识,将有助于你理解下面的IPFS PIN对象的学习视频教程

  现在的关于IPFS公众号太多了,实质的内容大都是抄来抄去。他们都是醉翁之意不在酒,发布点文章,就开始卖矿机,那IPFS爱好者俱乐部依旧会持续输出优质的内容,做更好的IPFS和Filecoin知识以及挖矿的普及。

  请关注与点赞微信公众号IPFS爱好者俱乐部,共同学习交流IPFS与FILECOIN知识,谢谢。

您可能喜欢
Copyright © 2017 iIPFS.cn IPFS/FileCoin资讯站