#tendermint #testing #blockchain

bin+lib tendermint-testgen

tendermint-testgen 是一个库和一个小的二进制工具,用于从最小输入(仅用于测试目的)生成 Tendermint 数据结构。该库还包含一些简化运行测试批次的函数。

47 个版本 (22 个破坏性版本)

新版本 0.39.1 2024年8月9日
0.38.1 2024年7月23日
0.35.0 2024年3月14日
0.34.0 2023年10月2日
0.17.0-rc32020年11月18日

721神奇豆

Download history 2788/week @ 2024-04-22 2246/week @ 2024-04-29 2473/week @ 2024-05-06 1645/week @ 2024-05-13 1523/week @ 2024-05-20 1784/week @ 2024-05-27 2938/week @ 2024-06-03 1463/week @ 2024-06-10 1114/week @ 2024-06-17 1294/week @ 2024-06-24 1079/week @ 2024-07-01 1355/week @ 2024-07-08 1833/week @ 2024-07-15 1131/week @ 2024-07-22 787/week @ 2024-07-29 1082/week @ 2024-08-05

每月下载量 4,865
12 个包中使用 (11 个直接使用)

Apache-2.0

635KB
14K SLoC

tendermint-testgen

Crate Docs Build Status Apache 2.0 Licensed Rust Stable

tendermint-testgen 是一个小工具,可以从最小输入(仅用于测试目的)生成 Tendermint 数据结构。

要求

  • 最新的 Rust 稳定版

用法

# Show usage information for tendermint-testgen
cargo run -- --help

# Show usage about a particular command
cargo run -- --help CMD

例如,可以从标识符生成 Tendermint 验证者,或者仅从一组验证者生成 Tendermint 标题。

参数可以通过两种方式提供

  • 通过 STDIN:在这种情况下,它们应是一个有效的 JSON 对象,其中每个参数都是该对象的字段
  • 通过特定命令的命令行参数。

如果通过 STDIN 和 CLI 提供了参数,则后者具有优先级。

如果可以从单个参数(如验证者)生成特定的数据结构,则存在一个快捷方式,允许直接通过 STDIN 提供该参数,而无需将其包装在 JSON 对象中。例如,在验证者的情况下,以下命令都是等效的

tendermint-testgen validator --id a --voting-power 3
echo -n '{"id": "a", "voting_power": 3}' | tendermint-testgen --stdin validator
echo -n a | tendermint-testgen --stdin validator --voting-power 3
echo -n '{"id": "a"}' | tendermint-testgen --stdin validator --voting-power 3
echo -n '{"id": "a", "voting_power": 100}' | tendermint-testgen --stdin validator --voting-power 3

结果是

{
  "address": "730D3D6B2E9F4F0F23879458F2D02E0004F0F241",
  "pub_key": {
    "type": "tendermint/PubKeyEd25519",
    "value": "YnT69eNDaRaNU7teDTcyBedSD0B/Ziqx+sejm0wQba0="
  },
  "voting_power": "3",
  "proposer_priority": null
}

许可

版权 © 2020 Informal Systems

本软件基于Apache License,版本2.0(以下简称“许可协议”);除非按照许可协议使用,否则不得使用本存储库中的文件。您可以在以下地址获取许可协议的副本:

https://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可协议下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可协议中规定的具体权限和限制,请参阅许可协议。

依赖项

~9–18MB
~276K SLoC