0e2b4e39fa
* support downloading blocks / states via JSON in addition to SSZ - slow, but needed for infura support - SSZ is still used when server supports it * use common forked block/state reader in REST API * fix stack overflows in REST JSON decoder * fix invalid serialization of `justification_bits` in `/eth/v1/debug/beacon/states` and `/eth/v2/debug/beacon/states` * fix REST client to use `/eth/...` instead of `/api/eth/...`, update "default" urls to expose REST api via `/eth` as well as this is what the standard says - `/api` was added early on based on an example "base url" in the spec that has been removed since * expose Nimbus REST extensions via `/nimbus` in addition to `/api/nimbus` to stay consistent with `/eth` * fix invalid state root when reading states via REST * fix recursive imports in `spec/ssz_codec` * remove usages of `serialization.useCustomSerialization` - fickle |
||
---|---|---|
.. | ||
.gitignore | ||
README.md | ||
deposit_downloader.nim | ||
download_mainnet_deposits.sh | ||
e2store.nim | ||
e2store.py | ||
logtrace.nim | ||
ncli.nim | ||
ncli_db.nim | ||
ncli_query.nim | ||
nim.cfg | ||
nimquery.nim | ||
resttest-rules.json | ||
resttest.nim |
README.md
Introduction
ncli
is a set of low level / debugging tools to interact with the nimbus beacon chain specification implementation, simliar to zcli. With it, you explore SSZ, make state transitions and compute hash tree roots.
Tools
- transition: Perform state transition given a pre-state and a block to apply (both in SSZ format)
- hash_tree_root: Print tree root of an SSZ object
- pretty: Pretty-print SSZ object as JSON
Building
Follow the instructions from nimbus-eth2
git clone https://github.com/status-im/nimbus-eth2.git
cd nimbus-eth2
make
Usage
# Build with minimal config
../env.sh nim c -d:const_preset=minimal ncli_transition
# Build with mainnet config
../env.sh nim c -d:const_preset=mainnet ncli_transition
# Run..
./ncli_transition --help