如何在去中心化网络上玩博客?②

论坛 期权论坛 期权     
IPFS老司机   2020-1-4 11:26   1479   0








IPFS官方里程碑大致时间:
Testnet阶段1:现在-2020年1月17日
测试网阶段2:2020年1月20日至3月20日
主网启动窗口:2020年3月23日至4月24日



上一篇我们讲到了用IPFS玩转博客的一些基本操作方法,今天我们就来讲一讲如何运用代码将其他博客的链接整理起来:

一些重要的概念:
CID-内容标识符。IPFS中从其内容派生的数据块的唯一地址。DAG-有向无环图。IPFS中的块形成图形,因为它们可以通过其CID指向其他块。这些链接只能指向一个方向(有向),并且在整个图形上没有循环或循环(非循环)。


添加链接到作者和标签的博客文章


为了使DAG(有向无环图)更加有趣,我们将添加一个新的博客文章。它遵循与现有结构相同的结构。



按时间顺序列出带有链接的帖子


这时,你想创建一个概览页面,按时间顺序列出您的博客帖子。
您可以像处理标签一样执行此操作。但是,每次添加新博客文章时,都需要更新该页面(创建新节点)。进行每一个小的更改都创建一个新节点,这样太麻烦了。
我们有更好的方法!每当您创建新博客文章时,都可以直接链接到前一个。这使您能够遍历这些链接以动态创建按时间顺序排列的概述页面,就像我们在下一个点讲的。
一旦将博客帖子存储在IPFS中,我们就知道它的CID。我们可以使用CID链接从更新的博客文章链接到旧的内容。
在下面的代码中,prev在我们的博客文章中引入一个新字段。该字段链接到先前的博客文章。
按时间顺序链接博客文章。最古老的一种是关于树木的,然后是一种关于计算机的。关于一个dogs是最新的。更新它们后,返回关于的博客文章的CID dogs。




从最近的帖子开始链接到其他帖子

将每个博客文章链接在一起,我们可以只引用最后一个的CID来返回所有文章。这种遍历可用于创建概述页面,该概述页面按时间顺序列出所有博客文章。
  1. prev
复制代码
字段包含指向先前博客文章的链接。您可以使用该CID和
  1. ipfs.dag.get
复制代码
API来获取上一个博客,然后使用其
  1. prev
复制代码
字段来获取之前的博客。一个while循环的完美用例!
请注意,
  1. ipfs.dag.get()
复制代码
API返回的对象具有一个
  1. value
复制代码
属性,该属性是您想要的节点,并包含您保存的原始字段。例如,我们可以找到关于狗的帖子作者,如下所示:
const dogPostAuthor = (await ipfs.dag.get(dogPostCid)).value.author
注意
  1. await ipfs.dag.get(dogPostCid)
复制代码
上面使用的括号,因为异步功能需要在具有属性的CID对象
  1. value
复制代码
可用之前完成。在实践中使用此代码时,重要的是不要进行太多会导致延迟的异步调用。



本文由IPFS老司机编译,文章来源:
https://proto.school/#/blog/05
https://proto.school/#/blog/06
https://proto.school/#/blog/07




往期文章请戳



知识讲堂·从旧节点到新节点创建一个链接

知识讲堂·创建一个节点并返回一个内容标识符(CID)

IPFS:2020+大目标及未来走向

重磅!Filecoin测试网挖矿细则公布!

IPFS第71期周报

IPFS第67期周报|官方2020年项目规划





在右下角留下你的赞吧
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:240
帖子:3
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP