nimbus-eth2/ncli
zah 6036f2e7d7
Local sim impovements (#4551)
* Local sim impovements

* Added support for running Capella and EIP-4844 simulations
  by downloading the correct version of Geth.

* Added support for using Nimbus remote signer and Web3Signer.
  Use 2 out of 3 threshold signing configuration in the mainnet
  configuration and regular remote signing in the minimal one.

* The local testnet simulation can now use a payload builder.
  This is currently not activated in CI due to lack of automated
  procedures for installing third-party relays or builders.

  You are adviced to use mergemock for now, but for most realistic
  results, we can create a simple builder based on the nimbus-eth1
  codebase that will be able to propose transactions from the regular
  network mempool.

* Start the simulation from a merged state. This would allow us
  to start removing pre-merge functionality such as the gossip
  subsciption logic. The commit also removes the merge-forcing
  hack installed after the TTD removal.

* Consolidate all the tools used in the local simulation into a
  single `ncli_testnet` binary.
2023-02-23 02:10:07 +00:00
..
.gitignore A simple script for fetching detailed deposit data 2021-05-28 19:34:20 +03:00
README.md update spec references from eth2.0-specs to consensus-specs and to v1.1.0-beta.2 (#2822) 2021-08-26 10:21:52 +02:00
deposit_downloader.nim A simple script for fetching detailed deposit data 2021-05-28 19:34:20 +03:00
download_mainnet_deposits.sh A simple script for fetching detailed deposit data 2021-05-28 19:34:20 +03:00
e2store.nim e2store: avoid uint48 (#4625) 2023-02-15 14:51:17 +01:00
e2store.py e2store: avoid uint48 (#4625) 2023-02-15 14:51:17 +01:00
logtrace.nim Local sim impovements (#4551) 2023-02-23 02:10:07 +00:00
ncli.nim `BeaconStateFork/BeaconBlockFork` -> `ConsensusFork` (#4560) 2023-01-28 19:53:41 +00:00
ncli_common.nim fill some capella/EIP4844 missing implementations (#4585) 2023-02-02 22:24:06 +00:00
ncli_db.nim rm blockForkAtEpoch and switch callers to consensusForkAtEpoch (#4634) 2023-02-16 21:16:54 +01:00
ncli_query.nim 12x speedup on state sim with 100k validators sans BLS by caching get_beacon_proposer_index(...) 2020-06-04 17:07:51 +00:00
ncli_split_keystore.nim Keystore cache implementation. (#4372) 2023-02-16 19:25:48 +02:00
ncli_testnet.nim Local sim impovements (#4551) 2023-02-23 02:10:07 +00:00
nim.cfg enable `styleCheck:usages` (#3573) 2022-04-08 16:22:49 +00:00
nimquery.nim Move tools (#2370) 2021-03-02 15:02:10 +01:00
requirements.txt Bump ipython from 7.31.1 to 8.10.0 in /ncli (#4611) 2023-02-11 10:34:11 +01:00
resttest-rules.json Local sim impovements (#4551) 2023-02-23 02:10:07 +00:00
resttest.nim update to v1 of LC REST API (#4232) 2022-10-13 02:16:49 +02:00
resttest.nim.cfg Keymanager API for the validator client (#3976) 2022-08-19 13:30:07 +03:00
validator_db_aggregator.nim stylecheck fixes (#3595) 2022-04-15 12:46:56 +00:00
validator_db_reports.ipynb Streamline the validator reward analysis 2022-02-01 11:30:14 +02:00

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