Overview
Thelist command group provides information about available resources in Chainbench:
- methods - RPC methods that can be tested individually
- profiles - Pre-configured test profiles with multiple weighted methods
- shapes - Load pattern shapes for controlling test behavior
- clients - Client types for endpoint discovery
Subcommands
chainbench list methods
Lists all RPC methods available for testing.Example Output
Usage with start
Once you identify a method, use it with thestart command:
Methods are grouped by user class (EvmUser for EVM chains, SolanaUser for Solana). Some methods like
debug_* and trace_* are excluded by default unless you use --debug-trace-methods.chainbench list profiles
Lists all available load test profiles.Options
Specify a custom directory to list profiles from.If not specified, lists profiles from the default
chainbench/profile directory.Example Output
Profile Naming Convention
Profiles use dot notation for organization:network.variant- Maps toprofile/network/variant.pyevm.light- Maps toprofile/evm/light.py
Usage with start
Custom Profile Directories
For information on creating custom profiles, see the Custom Profiles Guide.
chainbench list shapes
Lists all available load pattern shapes.Example Output
Available Shapes
Load increases in discrete steps.This creates 10 steps, each lasting 1 minute, adding 10 users per step.
- Step size controlled by
--spawn-rate - Number of steps =
--users/--spawn-rate - Step duration =
--test-time/ number of steps
Load runs in a spike pattern:Timeline:
- Ramps to 10% of users for 40% of test duration
- Spikes to 100% of users for 20% of test duration
- Reduces back to 10% for remaining 40%
- 0-12min: Ramp to 10 users
- 12-18min: Spike to 100 users
- 18-30min: Drop back to 10 users
When no shape is specified, Chainbench uses a linear ramp-up:Timeline:
- Load increases at
--spawn-rateuntil--usersis reached - Maintains constant load for remaining test duration
- 0-10s: Ramp from 0 to 100 users (10 users/second)
- 10s-30min: Maintain 100 users
Custom Shapes
You can create custom shapes by:- Copying an existing shape from
chainbench/shapes - Modifying the load pattern logic
- Placing it in the shapes directory
- Referencing it with
--shape your-shape-name
chainbench list clients
Lists all available client types for endpoint discovery.Example Output
Usage with discover
Use client names with thediscover command:
Client Types
Standard Ethereum JSON-RPC specification methods. This is the default.
Geth-specific methods including debug and trace APIs.
Erigon-specific methods and optimizations.
Nethermind-specific methods and extensions.
Binance Smart Chain specific methods.
Arbitrum Nitro specific methods.
Optimism Bedrock specific methods.
Polygon PoS specific methods.
Client definitions and supported methods are maintained in
chainbench/tools/discovery/clients.json and methods.json.Common Workflows
Exploring Available Options
Planning a Test
Working with Custom Profiles
Related Commands
- chainbench start - Start a load test using methods, profiles, or shapes
- chainbench discover - Discover available methods on an endpoint