CID-内容标识符。IPFS中从其内容派生的数据块的唯一地址。 在本教程中,我们将探索IPFS DAG API,该API使我们可以将数据对象存储在IPFS中。(您可以在IPFS中存储更多令人兴奋的东西,例如您喜欢的cat GIF,但是您需要为此使用其他API。) 您可以通过将数据对象传递到ipfs.dag.put方法中来创建新节点,该方法将为新创建的节点返回内容标识符(CID)。 ipfs.dag.put({ hello: 'world'}) CID是IPFS中从其内容派生的数据块的地址。每当有人将相同的{ hello: 'world' }数据放入IPFS中时,他们都会获得与您获得的相同的CID。如果输入它们{ hell0: 'w0rld' },则CID将有所不同。 注意:在整个课程中,我们将使用以下代码编辑器。在run为您预先填充的函数中输入解决方案代码,请确保在该函数中返回请求的值。(您无需return run在最后更新该行;这就是使代码编辑器正常工作的地方。) DAG-有向无环图。IPFS中的块形成图形,因为它们可以通过其CID指向其他块。这些链接只能指向一个方向(有向),并且在整个图形上没有循环或循环(非循环)。 有向无环图(DAG)的一项重要功能是能够将它们链接在一起。 在IPFS DAG存储中表达链接的方式与CID另一个节点的相同。 当我们给一个字段命名并使其值成为CID的链接时,我们称其为命名链接。 我们可以像添加任何其他数据一样,将命名链接添加到IPFS: 创建一个名为的链接bar,该链接指向我们在第一课中创建的节点。将其放入IPFS并返回其CID。 编辑器中预先装有代码,以创建要链接到的节点。 使用链接读取嵌套数据 您可以使用路径查询从深度嵌套的对象中读取数据。 letcid = awaitipfs.dag.put({ my: { deep: { obj: 'is cool' } } })console.log(awaitipfs.dag.get(cid, '/my/deep/obj'))// prints { value: 'is cool', remainderPath: '' } ipfs.dag.get允许使用IPFS路径进行查询并返回我们称为节点的解码块。返回值是一个对象,其中包含查询的值以及所有未解析的剩余路径。 这个API的优点是它还可以遍历链接。 letcid = awaitipfs.dag.put({ foo: 'bar'})letcid2 = awaitipfs.dag.put({ my: { other: cid } })console.log(awaitipfs.dag.get(cid2, '/my/other/foo'))// prints { value: 'bar', remainderPath: '' } 知道了!请注意上面的方法不返回值本身,而是返回一个包含value属性的对象。value在诺言完成之前,您无法访问该属性,该问题可以通过两种方式解决: // Option 1: Wrap your await statement in parentheses to let the promise completereturn(awaitipfs.dag.get(cid2, '/my/other/foo')).value// Option 2: Save the result to a variable and then access its valueletnode = awaitipfs.dag.get(cid2, '/my/other/foo')returnnode.value 使用ipfs.dag.get返回的值test通过遍历从对象,你的链接put在前面的挑战。(提示:确保value仅在诺言完成后才能访问该属性。) 本文来源:引擎存储 —- 编译者/作者:引擎存储 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
具有内容寻址功能的P2P数据链接
2020-06-19 引擎存储 来源:火星财经
LOADING...
相关阅读:
- IPFS100.com发布会圆满落幕助力IPFS生态健康良性发展2020-08-06
- OKEx在印度推出零交易费的P2P加密货币交易所2020-08-06
- 尽管存在法律不确定性,OKEx还是启动了印度P2P交易平台2020-08-06
- IPFS与区块链的关系,Filecoin的趋势性造就亿万财富2020-08-06
- IPFS投资收益与Filecoin矿工角色分析2020-08-06