- Full changelog: 0.1.2...0.2.0
- Docker Image:
ghcr.io/erpc/erpc:0.2.0
Changelog
- a0200ff: Bump the "all-updates" group with 10 updates across multiple ecosystems (#1050) (@dependabot[bot])
- 2f9ecef: chore(evm): classify mempool priority rejections as ExecutionException (#1094) (@andreclaro)
- 107997c: docs(agents): adopt the weakest-hypothesis design razor in agent guidelines (#1049) (@aramalipoor)
- c869423: docs(evm): correct indexMagnitude gating comment (#1062) (@andreclaro)
- 14b2f01: feat(cache): dynamic timeout/hedge and timeout-driven breaker exclusion (#1112) (@kasrakhosravi)
- 178a8f1: feat(evm): data-integrity module unified check engine (#948) (@aramalipoor)
- a301305: feat(evm): give two block-count defaults a chain-relative floor (#1079) (@aramalipoor)
- e12b6b9: feat(evm): project-level blockAvailability + -32014 for unavailable blocks (#1081) (@andreclaro)
- 2ae9a76: feat(integrity): autoCorrectWhenPossible + recordOnly/hardReject verdict split (#1104) (@aramalipoor)
- 7df21db: feat(network): report networks with no upstreams instead of "initializing" (#1065) (@aramalipoor)
- 1dcf9a7: feat(shadow): pinBlockTag — evaluate mirrored tag selectors at the primary's height (#1100) (@aramalipoor)
- c5ebc71: feat(svm): multi-chain Solana support (#799) (@kasrakhosravi)
- 1c89ac9: feat(telemetry): counterDropLabels / counterLabelOverrides to bound counter cardinality (#1044) (@kasrakhosravi)
- bb32eb5: feat(telemetry): export the upstream misbehavior ledger as a Prometheus counter (#1114) (@aramalipoor)
- 60444f5: feat(telemetry): label block-head rollbacks with the head axis (#1076) (@aramalipoor)
- 73c89bc: feat(telemetry): label cache miss counter with the miss reason (#1027) (@kasrakhosravi)
- 9ab2906: feat(upstream): headLagToleranceBlocks — availability-gate tolerance for tight head-followers (#1099) (@aramalipoor)
- f2a9df6: fix(clients): close abandoned BDS clients instead of leaking their goroutines (#1072) (@kasrakhosravi)
- 65da634: fix(common): prevent JSON-RPC CacheHash aliasing (#1098) (@Parikalp-Bhardwaj)
- 97343e7: fix(common/json_rpc): reject lossy numeric request ids (#1092) (@Parikalp-Bhardwaj)
- aa0ba58: fix(config): case-insensitive method-keyed config lookup and merge (#1057) (@aramalipoor)
- 7699f44: fix(erpc): enable h2c without shared gRPC (#1096) (@Parikalp-Bhardwaj)
- 52353e9: fix(evm): collapse dead if/else in applyReorg followHead update (#1061) (@andreclaro)
- 9554c87: fix(evm): cover eth_getProof/eth_simulateV1/debug_traceCall in state-proven boundary (#1051) (@aramalipoor)
- 9624ba6: fix(evm): make singleflight doOnce panic-safe (#1060) (@andreclaro)
- 0a35e40: fix(evm): make the chain-identity verification threshold chain-relative (#1078) (@aramalipoor)
- b237c32: fix(evm): normalize jsonrpsee "Response is too big" as request-too-large (#1095) (@aramalipoor)
- 8caac81: fix(evm): served tip — bounds don't vote, regression guard, trajectory referee (#1063) (@aramalipoor)
- b558a24: fix(evm): the served-tip referee must check that the majority actually stalled (#1077) (@aramalipoor)
- 9ed7eaa: fix(evm,health,data): stop a bad upstream from skewing head tracking (#1084) (@aramalipoor)
- 6745d2f: fix(evm,shadow): an EVM revert or halt is an ANSWER, not an endpoint error (#1091) (@aramalipoor)
- 0eac584: fix(health): lag predicates silently no-op for CB-open upstreams under evalScope:network (#1019) (@andreclaro)
- 6cd1b98: fix(http): return 404 for ErrNetworkNoUpstreamsAvailable, not 503 (#1075) (@kasrakhosravi)
- 7d99b82: fix(integrity): recompute checks report skip, not pass, when they verify nothing (#1107) (@aramalipoor)
- 694268a: fix(integrity): state prober publishes evidence, not routing — misbehavior witness + execution-height callState probe (#1109) (@aramalipoor)
- 3d1afcc: fix(monitoring): correct Grafana dashboard legends, filters, variables and layout (#1105) (@aramalipoor)
- 5d1b1ad: fix(monitoring): make the quantile rate window a dashboard variable (#1068) (@kasrakhosravi)
- d27552a: fix(monitoring): replace EOL ubuntu:22.10 base image in monitoring Dockerfile (#1110) (@glokos)
- aee2c96: fix(ratelimit): give each rule its own counter (#1058) (@jscaltreto)
- e56e814: fix(ratelimit): pool credit budgets across methods (#1059) (@jscaltreto)
- e8b5882: fix(redis): honor context deadlines on in-flight commands (#1113) (@kasrakhosravi)
- d1fe4a0: fix(shadow): pin latest-tag to the serving upstream's polled head (#1103) (@aramalipoor)
- 92b9131: fix(svm): pass the miss reason, and stop counting cold reads as errors (#1067) (@kasrakhosravi)
- 4e016bd: fix(thirdparty): provider override precedence is most-specific, not map order (#1108) (@aramalipoor)
- 8bbc04f: fix: shadow to honour the upstream's block range before mirroring (#1090) (@aramalipoor)
Quick start
- Create your
erpc.yamlconfiguration file:
touch erpc.yaml
code erpc.yaml- Use the Docker image:
docker run \
-v $(pwd)/erpc.yaml:/erpc.yaml
-p 4000:4000 -p 4001:4001 \
ghcr.io/erpc/erpc:0.2.0- Send your first request:
curl --location 'http://localhost:4000/main/evm/42161' \
--header 'Content-Type: application/json' \
--data '{
"method": "eth_getBlockByNumber",
"params": [
"0x1203319",
false
],
"id": 9199,
"jsonrpc": "2.0"
}'