24 lines
1.4 KiB
Markdown
24 lines
1.4 KiB
Markdown
# Caliper performance hook — Chain 138 (Besu)
|
|
|
|
**Last updated:** 2026-03-28
|
|
**Purpose:** Satisfy [dbis_chain_138_technical_master_plan.md](../../dbis_chain_138_technical_master_plan.md) Section 14 without vendoring Caliper into this repository.
|
|
|
|
## Approach
|
|
|
|
1. Use upstream [Hyperledger Caliper](https://github.com/hyperledger/caliper) (npm package `/@hyperledger/caliper-cli`).
|
|
2. Create a **separate** working directory (or CI job) with:
|
|
- `networkconfig.json` pointing `url` to Chain 138 HTTP RPC (prefer an isolated load-test node, not production public RPC).
|
|
- `benchmarks/` with a minimal `read` workload (`eth_blockNumber`, `eth_getBlockByNumber`) before write-heavy contracts.
|
|
3. Run: `npx caliper launch manager --caliper-workspace . --caliper-networkconfig networkconfig.json --caliper-benchconfig benchmarks/config.yaml`
|
|
4. Archive results (HTML/JSON) next to Phase 1 discovery reports if desired: `reports/phase1-discovery/` or `reports/caliper/`.
|
|
|
|
## Safety
|
|
|
|
- Use **low** transaction rates first; Besu validators and RPC tier are production assets.
|
|
- Do not point Caliper at **validator** JSON-RPC ports; use **RPC tier** only.
|
|
- Align gas and chain ID with `smom-dbis-138/.env` and [DEPLOYMENT_ORDER_OF_OPERATIONS.md](DEPLOYMENT_ORDER_OF_OPERATIONS.md).
|
|
|
|
## Wrapper
|
|
|
|
`bash scripts/verify/print-caliper-chain138-stub.sh` prints this path and suggested env vars (no network I/O).
|