Case study
Hyperledger Besu
Fixed malformed raw transaction handling in the Java Ethereum client so empty RLP input returns JSON-RPC Invalid params instead of an internal server error. Added regression coverage across eight malformed payloads.
- Context
- Hyperledger Besu is an enterprise-grade Java Ethereum client for public, private, and permissioned networks. Its eth_sendRawTransaction method was misclassifying malformed client input as an internal server failure.
- My contribution
- Traced the 0x80 RLP payload to empty transaction bytes in TransactionDecoder, added an explicit validation guard, and covered eight malformed payload shapes with parameterized RPC tests that also verify the transaction pool is never touched.
- Outcome
- PR #10736 merged into main after maintainer review with 36 checks passing and no regressions in RPC compatibility Hive tests. The fix shipped in Besu 26.7.1.
JavaEthereumJSON-RPCRLPJUnit
Visit project ↗