10个版本
0.4.7 | 2024年6月23日 |
---|---|
0.4.5 | 2023年11月30日 |
0.4.3 | 2023年7月23日 |
0.3.0 | 2023年1月10日 |
#16 in #jsonnet
46次每月下载
120KB
2.5K 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}
,对于要评估并作为值传递的jsonnet代码,请使用--tla-code=${arg name}=${your code}
。字符串和代码都可以从文件和环境(请参阅帮助信息中的“标准库”部分)提供。
在代码内部,您可以调用ChainQL Rust代码中定义的任何内置实用方法,例如调用cql.${以下定义的方法名之一}
。
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
文件夹。
依赖关系
~77MB
~1.5M SLoC