协议学校:深入分散网络,ProtoSchool学习IPFS


2019年4月25日,星期六,协议学校将举办一期关于分散web协议的交互式课程。

 

我们的自主交互教程旨在向您介绍分散的web概念、协议和工具。在您的web浏览器中完成代码挑战,并跟踪您的进度。

 

什么是分散的网络?有什么好处,它是如何工作的?让我们一起来看看吧!

 

在本次研讨会上,我们将探讨以下工作:

 

1、分散数据结构

 

在深入探讨代码挑战之前,让我们花一点时间来看一下分散式网络的一些概念。与我们的其它教程不同,这个教程是免代码的,专门为您介绍一些您将在整个ProtoSchool中遇到的关键术语。

 

让我们开始吧!

 

数据结构

 

不管您是不是程序员,您每天都被数据结构所包围。列表,词典和目录都有助于我们组织信息并考虑各种数据之间的关系。

 

在计算机科学中,数据结构是一种数据组织、管理和存储格式,可以实现高效的访问和修改。更确切地说,数据结构是数据值的集合,它们相互关联,可以用作数据处理方式。

 

在编程中,数据结构无处不在。将数据组织成变量以便在程序中使用它们,这经常涉及数十到数百万个数据结构。如果您是开发人员,您可能熟悉常见的数据结构,如数组,对象,图形等。

 

分散的数据结构

 

在分散的Web上,我们直接从同行而不是中央机构访问数据,我们需要专门的数据结构,以便我们验证各个内容之间的链接。

 

使用分散系统的数据结构需要是可验证的。在单个系统上,您对在内存或光盘上使用的数据结构拥有更大程度的信任。但是在分散的系统中,你在同伴中的信任度较低,甚至可能为零。

 

此外,大型数据结构需要能够在对等体之间展开并链接在一起以便分散。与任何网页可以链接到不同位置的另一个网页的方式相同,分散的数据结构实现了互连数据网络。

 

2、具有内容寻址的对等数据链接

 

创建节点并返回内容标识符(CID)

 

在本教程中,我们将探索IPFS DAG API,它允许我们将数据对象存储在IPFS中。 (你可以在IPFS中存储更多令人兴奋的东西,比如你最喜欢的猫GIF,但是你需要使用不同的API。

 

您可以通过将数据对象传递到ipfs.dag.put方法来创建新节点,该方法返回新创建的节点的内容标识符(CID)。

 

ipfs.dag.put({hello:'world'})

 

CID是IPFS中从其内容派生的数据块的地址。每当有人将相同的{hello:'world'}数据放入IPFS时,他们将获得与您获得的相同的CID。如果他们改为输入{hell0:'w0rld'},则CID会有所不同。

 

注意:在我们的课程中,我们将使用如下所示的代码编辑器。在为您预先填充的run函数中输入解决方案代码,确保在该函数中返回请求的值。(您不需要在最后更新return run,这只是为了使代码编辑器工作。

 

试试吧!

 

使用ipfs.dag.put为数据{test:1}创建节点。返回新节点的CID。

 

协议学校:深入分散网络,ProtoSchool学习IPFS

 

更新代码以完成练习。单击“提交”以检查您的答案。

 

3、在权力下放的网站上发表博客

 

使用其CID将作者链接到博客文章

 

在基础知识教程中,我们了解到IPFS中的链接表示为CID的实例:

 

{

  linkToAwesomeNode:awesomeCid

}

 

当我们给字段命名并使其值成为CID的链接时,我们称之为命名链接。

 

下面的练习有一些准备好的代码可以让我们开始。数据结构类似于博客,其中有两位作者,Nat和Sam,以及一些关于树木和计算机的博客文章。 目前他们之间没有任何关系。让我们更新博客文章,以便链接到作者。

 

试试吧!

 

通过添加链接到每个帖子的作者的新字段作者来修改现有的两个博客帖子。关于树木的帖子是由Sam撰写的,而Nat写的是关于计算机的帖子。

 

协议学校:深入分散网络,ProtoSchool学习IPFS


更新代码以完成练习。单击“提交”以检查您的答案。

 

你会需要:

 

* 笔记本电脑

 

预期的先前经验:

 

*建议使用某些编码经验但不是必需的

 

聚会后会有一个社交活动。


协议学校:深入分散网络,ProtoSchool学习IPFS

本文来源于互联网:协议学校:深入分散网络,ProtoSchool学习IPFS

本文由 Ipfs币 作者:ipfs币 发表,其版权均为 Ipfs币 所有,文章内容系作者个人观点,不代表 Ipfs币 对观点赞同或支持。如需转载,请注明文章来源。
32

发表评论