-
-
Published
Linked with GitHub
# Eth2 tooling
A non-exhaustive list of Eth2 tooling.
[TOC]
## Data-science
### Explorers
- `Beaconcha.in` 📡: https://beaconcha.in/
- https://github.com/gobitfly/eth2-beaconchain-explorer
- https://beaconscan.com/
- https://blockaction.io/
- https://github.com/blockaction
### Dashboards
- Eth2stats: https://eth2stats.io/medalla-testnet
- https://github.com/ConsenSys/eth2stats-server
- https://github.com/ConsenSys/eth2stats-dashboard
- https://github.com/Alethio/eth2stats-client
- Eth2 Ethernodes: https://eth2.ethernodes.org/
## Network tooling
- Rumor - Interactive shell: https://github.com/protolambda/rumor
- Prrkl - Rust network agent: https://github.com/prrkl/imp
- Also see libp2p implementations
## Data indexing
- E2DB: https://github.com/protolambda/e2db/
## Data extraction
- `ncli_db`: Nimbus storage block/state extractor: https://github.com/status-im/nim-beacon-chain (`make ncli_db`)
## Testnet tooling
- https://github.com/protolambda/eth2-val-tools
- Medalla/Altona/Witti testnet data: https://github.com/goerli/medalla/
- Common Eth2 client testnet data: https://github.com/eth2-clients/eth2-testnets
- Local multi-client net: https://github.com/eth2-clients/multinet
- Eth2 ansible testnet building blocks: https://github.com/protolambda/ansible_eth2/
- Bootnode: https://github.com/protolambda/eth2-bootnode/
## API tooling
- https://github.com/ethereum/eth2.0-apis
- https://www.npmjs.com/package/@chainsafe/eth2.0-api-wrapper
- https://ethereum.github.io/eth2.0-APIs/
- (Lighthouse API) https://github.com/protolambda/eth2.py/
## CLI tooling
- Ethdo: wallets, common Eth2 utils: https://github.com/wealdtech/ethdo
- Ethereal: integrate with Eth1 actions: https://github.com/wealdtech/ethereal
- ZCLI: run ZRNT transitions, debug commands: https://github.com/protolambda/zcli
## Libraries
Many of the components of Eth2 clients can be used as library already, but some things exist outside of the client, or are tailored specifically for use as library. This is a non-exhaustive list.
### Python libraries
- Spec-based python: https://pypi.org/project/eth2spec/
- Optimized python: https://pypi.org/project/eth2fastspec/
- Remerkleable (SSZ + merkle proofs): https://pypi.org/project/remerkleable/
### Typescript/Javascript libraries
- :star: Chainsafe Lodestar :star:
- https://lodestar.chainsafe.io/
- BLS web tool: https://bls-keygen.com/
- SSZ web tool: https://simpleserialize.com/
- ENR web tool: https://enr-viewer.com/
- Docs: https://chainsafe.github.io/lodestar/packages/
- Libraries mono-repo (API, BLS, SSZ, state transition, more!):
- https://github.com/chainsafe/lodestar#packages
### Go libraries
- State transition: https://github.com/protolambda/zrnt
- SSZ:
- https://github.com/protolambda/zssz
- https://github.com/ferranbt/fastssz/
- Prysm client: https://github.com/prysmaticlabs/prysm
- Keystores: https://github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4
## Libp2p implementations
- Go: https://github.com/libp2p/go-libp2p-pubsub
- Rust: https://github.com/libp2p/rust-libp2p
- Nim: https://github.com/status-im/nim-libp2p
- JS: https://github.com/ChainSafe/gossipsub-js
- Java: https://github.com/libp2p/jvm-libp2p
## Keystores / deposits
- https://github.com/ethereum/eth2.0-deposit-cli
- https://github.com/wealdtech/ethdo
- Testnet-only: https://github.com/protolambda/eth2-val-tools
- See client CLIs for more keystore/account management tools
## Metrics
- Client dashboard aggregate collection: https://github.com/protolambda/eth2-metrics
- Lighthouse: https://github.com/sigp/lighthouse-metrics/
- Metrics standardization (lagging behind): https://github.com/ethereum/eth2.0-metrics