zeta-chain / node

ZetaChain’s blockchain node and an observer validator client
https://zetachain.com
MIT License
157 stars 99 forks source link

RPC Methods Are Broken, Slow, or Crash the RPC Nodes - BlockPi Report #506

Closed CharlieMc0 closed 5 months ago

CharlieMc0 commented 1 year ago

These RPC methods either don't work or can cause the node to lock up and/or crash when used.

Reported by BlockPi

method problem suggestion
/cosmos/params/v1beta1/params invalid request, seems to be an old method already abandoned delete this method
/ethermint/evm/v1/trace_tx error "runtime error: invalid memory address or nil pointer dereference: panic", not open to users, or fix
/zeta-chain/crosschain/cctx response data too large, has parameter choice not open to users, or only available with parameters
/zeta-chain/crosschain/cctxPending response data too large, and has no parameter choice not open to users, or add parameter choice
/zeta-chain/crosschain/keygen not working, and description says there is an index parameter to be fixed
/zeta-chain/crosschain/gasBalance/{index} gasBalance has no content will re-test when athena-3
brewmaster012 commented 1 year ago

thanks @CharlieMc0

5th/6th will be fixed in athens3

3rd/4th not sure; they are needed by zetaclients but perhaps not by third party apps or services. Maybe blockpi can disable them.

2nd: @aldapp7 any comment?

1st: @fadeev @kingpinXD may be able to comment.

aldapp7 commented 1 year ago

2nd, not sure, never tested that and it wasn't in the scope on updating Ethermint rpcs, I will take a look.

fadeev commented 1 year ago

1st: I believe the params module has been deprecated.

brewmaster012 commented 1 year ago

1st: I believe the params module has been deprecated.

Sounds good. I imagine that your PR on OpenAPI generation remove this endpoint?

fadeev commented 1 year ago

That PR was focused on serving existing OpenAPI spec. If we merge the buf PR, I can add buf-based OpenAPI spec generation that will remove this endpoint (and just provide more reliable spec generation process).

aldapp7 commented 1 year ago

@brewmaster012 @CharlieMc0 2nd unlikely be able to fix, issue goes deep into ethermint x/types, which we obviously don't want to fork and tweak to our own (too large to support it just for this rpc), fails here https://github.com/zeta-chain/zeta-node/blob/develop/rpc/backend/tracing.go#L115 -> uses evmtypes.QueryClient https://github.com/zeta-chain/zeta-node/blob/develop/rpc/types/query_client.go#L38 which is imported from https://github.com/zeta-chain/zeta-node/blob/develop/rpc/types/query_client.go#L28

lumtis commented 5 months ago

Closing as it seems no longer relevant with the current state of the project. Feel free to reopen it.