https://github.com/protolambda/zcli
Eth2 CLI debugging tool
https://github.com/protolambda/zcli
Last synced: 21 days ago
JSON representation
Eth2 CLI debugging tool
- Host: GitHub
- URL: https://github.com/protolambda/zcli
- Owner: protolambda
- License: mit
- Created: 2019-09-03T22:33:59.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-02-23T18:50:24.000Z (3 months ago)
- Last Synced: 2025-04-30T17:05:22.130Z (21 days ago)
- Language: Go
- Size: 285 KB
- Stars: 37
- Watchers: 4
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.