This repository was archived by the owner on Apr 23, 2026. It is now read-only.
Description Bug Description
The txpool_content RPC method crashes with error code -32000 "method handler crashed" when called on a BSC mainnet archive node running Erigon v1.4.3.
Environment
Version : erigon/1.4.3/linux-amd64/go1.24.11 (commit: 1.4.3-dev-4a9d2ee4)
Network : BSC Mainnet
Node Type : Archive (--prune.mode archive)
API Configuration : --http.api eth,debug,net,trace,web3,erigon,txpool
Steps to Reproduce
Start bsc-erigon v1.4.3 with archive mode and txpool API enabled
Call the txpool_content method:
curl -X POST -H " Content-Type: application/json" \
--data ' {"jsonrpc":"2.0","method":"txpool_content","params":[],"id":1}' \
http://localhost:8545
Expected Behavior
The method should return transaction pool content with pending, baseFee, and queued transactions, similar to:
{
"jsonrpc" : " 2.0" ,
"id" : 1 ,
"result" : {
"pending" : {... },
"baseFee" : {... },
"queued" : {... }
}
}
Actual Behavior
The method crashes and returns:
{"jsonrpc" :" 2.0" ,"id" :1 ,"error" :{"code" :-32000 ,"message" :" method handler crashed" }}
Additional Context
Other txpool methods work fine:
✅ txpool_status returns: {"pending":"0x3e7","baseFee":"0x0","queued":"0x80"}
The txpool API is properly initialized and enabled
The crash appears to be in the Content() method implementation in rpc/jsonrpc/txpool_api.go
Possible crash points:
api.db.BeginTemporalRo(ctx) - database handle initialization issue
newRPCPendingTransaction() - transaction formatting bug
Impact
This affects production BSC RPC providers who need to expose txpool_content for their users. The method is documented as available but crashes in practice.
Code Reference
Implementation: https://github.com/node-real/bsc-erigon/blob/v1.4.3/rpc/jsonrpc/txpool_api.go#L48-L115
Reactions are currently unavailable
Bug Description
The
txpool_contentRPC method crashes with error code -32000 "method handler crashed" when called on a BSC mainnet archive node running Erigon v1.4.3.Environment
--prune.mode archive)--http.api eth,debug,net,trace,web3,erigon,txpoolSteps to Reproduce
Expected Behavior
The method should return transaction pool content with pending, baseFee, and queued transactions, similar to:
{ "jsonrpc": "2.0", "id": 1, "result": { "pending": {...}, "baseFee": {...}, "queued": {...} } }Actual Behavior
The method crashes and returns:
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"method handler crashed"}}Additional Context
txpool_statusreturns:{"pending":"0x3e7","baseFee":"0x0","queued":"0x80"}Content()method implementation inrpc/jsonrpc/txpool_api.goapi.db.BeginTemporalRo(ctx)- database handle initialization issuenewRPCPendingTransaction()- transaction formatting bugImpact
This affects production BSC RPC providers who need to expose txpool_content for their users. The method is documented as available but crashes in practice.
Code Reference
Implementation: https://github.com/node-real/bsc-erigon/blob/v1.4.3/rpc/jsonrpc/txpool_api.go#L48-L115