创建一个节点并返回一个内容标识符(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 创建一个链接到旧节点的新节点 有用的概念 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 使用链接读取嵌套数据 您可以使用路径查询从深度嵌套的对象中读取数据。 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 非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。 —- 编译者/作者:FilCloud 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
IPFS:具有内容寻址功能的P2P数据链接
2019-12-02 FilCloud 来源:区块链网络
- 上一篇:无证胜有证——虚拟身份和真实身份的组合
- 下一篇:什么是 DAO?
相关阅读:
- 节点经济助推实体商业币耀BtLux为民营企业赋2020-10-28
- AlphaWalletVictorZhang:区块链3.0和2.0主要差别在于权益使用2020-10-28
- 将比特币接入波卡网络一文了解PolkaBTC的设计与路线图2020-10-28
- 关于波卡生态Morsage共享矩阵模型剖析2020-10-28
- 币看「币币交易区」新增上线热门币种AUDIO、EASY、HYVE2020-10-28