LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > IPFS:具有内容寻址功能的P2P数据链接

IPFS:具有内容寻址功能的P2P数据链接

2019-12-02 FilCloud 来源:区块链网络

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

有用的概念

CID-内容标识符。IPFS中数据块的唯一地址,由其内容派生而来。

我们将探索 IPFS DAG API,该 API 使我们可以将数据对象存储在 IPFS 中。(您可以在 IPFS 中存储更多令人兴奋的东西,例如您喜欢的 catGIF,但是您需要为此使用其他 API 。)

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

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

注意:我们将使用以下代码编辑器。在run为您预先填充的函数中输入解决方案代码,请确保在该函数中返回请求的值。(您无需return run在最后更新该行;这就是使代码编辑器正常工作的地方。)

我们已帮助您找到官方给出的文件,您可以进行操作体验,网址:

https://proto.school/#/basics/01

v2-f8146a7b1e5f604f6891f2739acaed51_hd.jpg

创建一个链接到旧节点的新节点

有用的概念

CID-内容标识符。IPFS中数据块的唯一地址,由其内容派生而来。

DAG-有向无环图。IPFS 中的块形成图形,因为它们可以通过其 CID 指向其他块。这些链接只能指向一个方向(有向),并且在整个图形上没有循环或循环(非循环)。

有向无环图(DAG)的一项重要功能是能够将它们链接在一起。

在 IPFS DAG 存储中表达链接的方式与CID另一个节点的相同。

例如,一个节点可能有一个链接,该链接foo指向以前另存为的另一个 CID 实例barCid,如下所示:

{foo:?barCid }

如上所示,当我们给一个字段命名并使其值成为 CID 的链接时,我们称其为命名链接。

我们可以像添加任何其他数据一样,将命名链接添加到 IPFS:

await?ipfs.dag.put({?foo:?barCid?})

我们已帮助您找到官方给出的文件,您可以进行操作体验,网址:

https://proto.school/#/basics/02

v2-e44581d9a8d770803f1e5c09ed094d32_hd.jpg

使用链接读取嵌套数据

您可以使用路径查询从深度嵌套的对象中读取数据。

let?cid?=?await?ipfs.dag.put({my:?{deep:?{obj:?'is?cool'}} })

console.log(await?ipfs.dag.get(cid,?'/my/deep/obj')) //?prints?{?value:?'is?cool',?remainderPath:?''?}

ipfs.dag.get允许使用IPFS路径查询并返回我们称为节点的解码块。返回值是一个对象,其中包含查询的值以及所有未解析的剩余路径。

这个 API 的优点是它还可以遍历链接。

let?cid?=?await?ipfs.dag.put({?foo:?'bar'?}) let?cid2?=?await?ipfs.dag.put({my:?{other:?cid} })

console.log(await?ipfs.dag.get(cid2,?'/my/other/foo')) //?prints?{?value:?'bar',?remainderPath:?''?}

请注意上面的方法不返回值本身,而是返回一个包含value属性的对象。value在诺言完成之前,您无法访问该属性,该问题可以通过两种方式解决:

//?Option?1:?Wrap?your?await?statement?in?parentheses?to?let?the?promise?complete return?(await?ipfs.dag.get(cid2,?'/my/other/foo')).value

//?Option?2:?Save?the?result?to?a?variable?and?then?access?its?value let?node?=?await?ipfs.dag.get(cid2,?'/my/other/foo') return?node.value

我们已帮助您找到官方给出的文件,您可以进行操作体验,网址:

https://proto.school/#/basics/03

v2-2712486bc8d5b2e20477a1f83a1eca35_hd.jpg

v2-98da0bddfddafe65277033958135ffba_hd.gif

非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

v2-b47390a2520e0ffc44e3f812341fa741_hd.jpg

v2-98da0bddfddafe65277033958135ffba_hd.gif

v2-6e84b283197e012d7a2a1d55f13cbf0e_hd.jpg

v2-98da0bddfddafe65277033958135ffba_hd.gif

v2-cbeda5911261defb96f0b6eff5bb2346_hd.jpg

v2-98da0bddfddafe65277033958135ffba_hd.gif

—-

编译者/作者:FilCloud

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...