unicornultrafoundation / go-u2u

Implementation of U2U Network in Golang
https://u2u.xyz
GNU Lesser General Public License v3.0
4 stars 2 forks source link

Implement eth_getBlockReceipt API #106

Open trinhdn97 opened 1 month ago

trinhdn97 commented 1 month ago

Currently, the way we obtain complete information about all transactions in a block is as follows:

  1. Call eth_getBlockBy{Number,Hash} to retrieve all transaction data for a block;
  2. Iterate through all the transaction data obtained above and call eth_getTransactionReceipt to retrieve the receipt data for each transaction.

This method is highly inefficient for obtaining large amounts of block and transaction data. To make it easier for users, we propose an RPC that returns all the receipt data for a block in one call.

Parity/OpenEthereum (DEPRECATED) has already implemented this method under the parity namespace (parity_getblockreceipts), and some node providers (eg: alchemy eth_getBlockReceipts) have provided similar solutions. If we can include this RPC in the standard, I believe it would be more consistent and user-friendly for users.

khoau2u commented 1 month ago

It seems like there are many different implements for this. I will choose the best and it should be done it by Aug 1.