5 个版本
0.4.7 | 2024 年 6 月 23 日 |
---|---|
0.4.6 | 2024 年 4 月 12 日 |
0.4.5 | 2023 年 11 月 30 日 |
0.4.4 | 2023 年 8 月 13 日 |
0.4.3 | 2023 年 7 月 23 日 |
#7 in #jrsonnet
34 每月下载量
用于 2 crates
165KB
4K SLoC
chainql
使用 Jsonnet 查询 Substrate 区块链。
ChainQL 是一个工具,用于以 JSON 格式表示链数据,并使用 Jsonnet 处理和操作输出。它旨在成为 PolkadotJS 查询链数据的更便捷的替代方案。
安装
安装 Rust 后,运行
cargo install chainql
以全局安装 ChainQL。
如果您想本地安装并运行它,请克隆仓库,然后在仓库中运行
cargo build --release
./target/release/chainql
用法
要查看所有选项,请运行
chainql --help
ChainQL 在 .jsonnet
文件上操作。使用选项 -e
,它可以将从输入字段中读取的输入作为 jsonnet 代码直接在命令行中评估。
要提供带有参数的 jsonnet 函数,请使用帮助消息中“顶级参数”部分的选项,例如使用 --tla-str=${your arg name here}=${your arg value}
为字符串或 --tla-code=${arg name}=${your code}
为要评估的 jsonnet 代码和作为值传递的结果。字符串和代码都可以从文件和环境(请参阅帮助消息中的“标准库”部分)提供。
在代码内部,您可以调用 cql.${以下定义的方法名称}
以调用 ChainQL Rust 代码中定义的任何内置实用方法。这些目前包括
cql.chain(/* chain url to get the data from */)
cql.dump(/* chain metadata, dump data, optional parameters, to create a jsonnet representation of a mock chain storage */)
cql.toHex(/* array of bytes to convert to hex string */)
cql.fromHex(/* string to convert to an array of bytes */)
cql.calc(/* array of tokens to evaluate in postfix notation */)
cql.ss58(/* address to get the hex representation from */)
示例
-
chainql -e "(1 + 7) / 3"
选项
-e
允许从输入字段运行一些 jsonnet 代码并将结果打印回终端。 -
chainql -e "(import 'parachain-spec.json') {id+: '-local'}" > new-parachain-spec.json
将
-local
应用于某些链规范文件顶级字段中id
字段的值。生成的文件可能看起来像这样{ "name": "some-parachain", "id": "parachain-id-local", // ... }
有关文件及其用法的示例,请参阅 examples
文件夹。
依赖项
~75MB
~1.5M SLoC