用于处理数据的多用途工具

904 阅读3分钟

go-ipldtool

用于处理数据的多用途工具。

IPLD是一个数据交换标准,强调在去中心化网络中的实用性。
ipld 工具是一个命令,用于处理任何我们可以通过使用IPLD标准和惯例来处理的数据。

我们的目的是要有一个好玩但有用的小工具。
它应该帮助你探索和管理数据,
它也应该帮助你了解如何使用IPLD,以及如何利用IPLD提供的杠杆来创建和发展去中心化的协议。

ipldtool的API理念是以人为本:
调试和诊断输出格式是默认的。
该工具也被设计为对 "管道 "使用友好,
但你必须明确告诉它在这种情况下使用什么编解码器。

(一般来说,我们希望ipldtool最终的感觉有点像古老的 "jq"。
它是你_可以_在生产脚本中使用的东西,但它主要是为你,作为一个开发人员,把东西粘在一起,并能够快速建立演示。)

特点

  • 读取各种编解码器中的数据,并将其转换为其他编解码器。 (例如,JSON到CBOR,dagpb到agjson,等等,等等!)。)

  • 在处理数据时走过数据 - 使用路径来选择数据的特定部分。

    • ......或者使用选择器来做更详细的行走,可以在复杂的条件下匹配数据的多个区域。
  • 计算数据的CID,所以你可以用不可变的链接来引用它。

  • 使用ipld put 命令将数据块添加到本地存储,这将使数据在使用链接的更大的数据结构中可供参考。

  • 对于包含链接IPLD数据来说,路径和选择器以及其他形式的数据访问可以自由地遍历链接,根据需要自动从本地存储中加载数据。

  • IPLD模式可以用ipld schema 子命令进行编译和处理。

    • ...并且它们也可以被ipld read 和其他命令用作解释数据的镜头。

...还有更多,即将推出!

状态

ipld工具目前应该被认为是处于早期alpha状态。
它正处于非常活跃的开发中。
一些功能正在工作,但可能不完全是;总的来说,目前没有承诺API的稳定性。
一些计划中的功能也完全缺失(也许,等待你来贡献它们?

提高ipldtool的稳定性和完整性的最好方法是开始使用它,如果你能,就贡献出来吧!

比较

请注意,严格来说,这个工具与IPFS的API没有关系。 IPFS提供了一些命令,这些命令也可以处理IPLD数据,但是它们不一定使用相同的名字,或者遵循相同的规则,就像这个ipldtool中的命令一样。
许多IPFS APIs在哲学上也是不同的,它们可能试图做网络,以满足你的请求;这个ipldtool是非常明确的设计

_不曾_初始化新的网络请求,只处理本地数据。

许可证

SPDX-License-Identifier:Apache-2.0 OR MIT

GitHub

github.com/ipld/go-ipl…