I'm currently developing a Java application which communicates with Geth using JSON-RPC. <br> <br>
I managed to implement something like @rustyx suggested on [**this thread**][1] using an HTTP connection, but it's too slow. <br> On my machine, the time to retrieve all the transactions for an account in a 1000 blocks range is approximately 100 seconds.

I know [**Etherscan's**][2] API is able to return the last 10'000 transactions made by an account, but you will need a API key and you have limited requests per day. Using an [**indexer**][3] could do the trick, but it's **heavy** and quite complex to implement.

So, i was wondering, is there any **efficient** way to retrieve all the transactions for a given account through a series of JSON-RPC requests? Is it possible to implement by myself a [**eth_listTransactions**][4] method? Could using a **lower level programming language** (like C) reduce the processing time?


  [1]: https://ethereum.stackexchange.com/questions/8900/how-to-get-transactions-by-account-using-web3-js
  [2]: https://docs.etherscan.io/api-endpoints/accounts
  [3]: https://github.com/getamis/eth-indexer
  [4]: https://github.com/ethereum/go-ethereum/issues/1897

Note: With 'addresses' I'm referring to wallet addresses, not contracts addresses.