# 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).