Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/protolambda/zcli

Eth2 CLI debugging tool
https://github.com/protolambda/zcli

Last synced: about 7 hours ago
JSON representation

Eth2 CLI debugging tool

Awesome Lists containing this project

README

        

# ZRNT CLI

Debugging command line tool, to work with SSZ files, process ETH 2.0 state transitions, and compute proofs and meta-data.

Based on the Go-spec: [ZRNT](https://github.com/protolambda/zrnt)

## Installation

### Pre-requisites

- Install Go 1.16+
- Add `$HOME/go/bin` to your PATH.

### Install

Options:

- `-u` to force-update dependencies
- `-tags bls_off` to disable BLS for testing purposes (not secure!!!)

```bash
# outside of an existing go module directory
go install github.com/protolambda/zcli@latest
```

## Usage

The `help` commands guide you through the usage

```bash
zcli --help
```

Quick overview of all commands (run `zcli --help` to get usage options and info).

```text
zcli
pretty Pretty-print spec object (output indented JSON)
convert Convert spec object from one format to another
diff Diff spec data
meta List metadata of beacon state
proof --gindices Create SSZ merkle proofs over any spec object
root Compute the SSZ hash-tree-root of a spec object
transition Run state transitions and sub-processes
tree Dump SSZ merkle tree of any spec object
version Print ZCLI and ZRNT version
```

All commands have a `--help` for additional information, flags, etc.

And for many commands, use `--config` and `--preset-{forkname}` to select a known (`minimal`, `mainnet`, etc.) or custom YAML config/preset file!
E.g. `--config=local_testnet.yaml`

Inputs/outputs can:
- be specified as empty `""`, to read from STDIN/STDOUT
- be specified with a prefix `json:`, `yaml:`, `ssz_snappy:` or `ssz:` to read/write that format. Writing can also use `pretty:` (indented JSON).

## License

MIT, see [`LICENSE`](./LICENSE) file.