本节学习目标
学会使用pin命令锁定你喜欢的数据 明白你上传的数据具体存到哪了,是以什么方式存储的,如实际硬盘存储还是缓存存储。 手动清理ipfs缓存 学习步骤 第一步:查看本地上传和检索到的数据存哪了我们本地上传到ipfs的数据,就是使用ipfs add命令添加到本地ipfs存储库了。ipfs的存储库有些人翻译成ipfs资源库,一个东西。这个存储库在我们ipfs init时,在本机用户名下创建的,不过是个隐藏文件夹,显示隐藏文件后,你会看见一个./ipfs的文件夹,这就是本机的ipfs存储库。打开./ipfs文件夹之后,你会看到: 我们添加的数据就存储在上图中blocks中了,不过是以块数据的类型存储的。 从ipfs网络下载的数据,即使用ipfs get得到的数据同样也存储到blocks中了。 第二步:使用pin锁定你喜欢的数据存储在blocks中的数据,有两种方式,一个是硬盘存储(永久保存),另一个是缓存存储(系统定期清理)。用户使用ipfs add添加的数据都是硬盘存储的,而ipfs get到的数据都是以缓存存储的。这里将提到pin的作用。 实际上blocks中的数据存储方式是由pin决定的。pin的作用是锁定数据,保证数据永不被系统清理掉。上面说的两种存储方式,现在可以说成一个是数据被pin处理过的,另一个是没有被处理过的。 ipfs系统会默认将ipfs init后的数据以及ipfs add的数据进行pin处理后存储到blocks中的。我们可以通过ipfs pin ls查看pin过的数据,如下: $?ipfs?pin?lsQmZTR5bcpQD7cFgTorqxZDYaew1Wqgfbd2ud9QqGPAkK2V?indirectQmQ5vhrL7uv6tuoN9KeVBwd4PwfQkXdVVmDLUZuTNxqgvm?indirectQmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv?recursiveQmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn?recursiveQmWj7uThVH9a2HBiewA53U6g1uwzj1N4r4LNDSV7V3BgGi?indirectQmXgqKTbzdh83pQtKFb19SpMCpDDcKR2ujqk3pKph9aCNF?indirectQmaTbcssmxUTB7na2ggMDTBXaUbSJzJsT5xQEnj3KJx9VL?recursiveQmY5heUM5qgRubMDD1og9fhCPA6QdkMp3QCwd4s7gJsyE7?indirectQmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T?recursiveQmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB?indirectQmREJwRsxCuENyEhH2cfHbA7Q3g43MBAkUFFaV36TZ3YwH?recursiveQmYCvbfNbCwFR45HiNP45rwJgvatpiW38D961L5qAhUM5Y?indirectQmZmr5ECfGMJLJGM1yx8LNQznYraxCXqPzN6S6V3R7NxFP?indirectQmejvEPop4D7YUadeGqYWmZxHhLc4JBUCzJJHWMzdcMe2y?indirect 你可以add一个小数据,查看pin列表中,有没有刚刚产生的hash值? 而ipfs get获取到的数据,并没有被pin处理过,将属于缓存存储。但如果你对这份数据很感兴趣,想永久保存它,ok,没问题,我们可以手动pin处理该数据,将其转换为硬盘存储,命令很简单?ipfs pin add <hash>?在终端的操作如下: localhost:ipfs-tutorial?zhanghengxing$?ipfs?pin?add?QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T pinned?QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T?recursively 现在你再打开pin列表,该hash将会出现在里面。 如果你对这个数据不感兴趣了,我们可以解除它的pin锁定,命令ipfs pin rm -r <foo hash>。 操作如下: $?ipfs?pin?rm?-r?QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T unpinned?QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T 这样这个数据就被解除pin了。pin列表中将不会存在这个hash值。 小提示:ipfs cat的数据都是在blocks中存储的数据,如果blocks中没有该数据,将会从ipfs网络中请求数据。 ??:接下来的操作需要关掉本地ipfs节点。 我获取下解除pin的数据还在不在? $?ipfs?cat?QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T liyc1215 数据还存在。 缓存的有效期是多长时间呢?我不确定, 我们可以手动清理缓存,命令ipfs repo gc,操作如下: $?ipfs?repo?gcremoved?QmVvCAgjEgTVMpm9ng3Re9ByiCSZDaXiotmv3DnfywDq4tremoved?QmXgnwQn6xZUYXtq8gtKejDffU2cnigqiHQ6CrKWK94PUjremoved?Qmc7cgRoGHfvepuBEk1TY3coByY9bwH3AsXnoUvtnQjPSrremoved?QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7Tremoved?QmbUNyTXGMXj1N4symorb9ZuN5vFWxw6M7NFFox8AeeuDkremoved?QmPymDr8PPpyBXtFPDncrybF9V1G6XmGuamhc6r3BVFRXnremoved?QmP4z1hBdsGsLEHGDCx15VBo8E7XqouUs3tZrhKWBfsYGx 被清理的就有QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T。 现在我们再cat这个数据,还能吗? $?ipfs?cat?QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7TError:?merkledag:?not?found 数据已经找不到了。 明白了pin的使用,赶快锁定你喜欢的数据吧。 作者:区块链高级工程师、go语言工程师、IPFS早期研究者。网络著书有《IPFS一问一答》、《IPFS操作教程》、《区块链密码学》、《区块链共识算法》;跟踪并翻译报道《IPFS Weekly》,研究并翻译IPFS、Filecoin白皮书,业界知名专家学者——张默默老师! —- 编译者/作者:Online 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
IPFS操作教程9: Pinning-锁定文件永久保存
2019-10-23 Online 来源:区块链网络
LOADING...
相关阅读:
- 大数据时代数据泄露愈加频繁 IPFS/Filecoin掀起财富新机遇2020-08-04
- 快讯分析:数据显示比特币投资者没有被周日暴跌吓跑2020-08-03
- 从大数据分析,链游CZ官方打压平台币SOUL价格原因和成果2020-08-03
- 链博科技:生活在大数据时代的我们如何保护个人隐私?2020-08-03
- 一图了解Defi最新数据:DeFi总锁仓金额超过50亿美元2020-08-03