The Light Historical Data Query Node on EOS allows apps and users to query the history of the blocks, accounts, and transactions.
Greymass maintains their own version of EOS which has been optimized to provide history only the most recent “x” transactions per EOS account in an API. They have written instructions on how to set this up here.
“Light History” nodes require less disk space and less memory than “Full history” (ancient history) and should be able to handle 90% of the historical queries on EOS. Here are the shEOS Light Historical Data Query Node’s resource usage based on the settings (further below).
Disk usage: 353.13GB
Memory (current): 49.41GB
Memory (peak): 63.58GB
As part of this node setup, I recommend having a public node running nginx as a proxy with your light history nodes behind it. In this gist below is a working nginx config to forward HTTP 416 errors to a full history node, such as Greymass.
Here is the configuration file for the shEOS Light Historical Data Query Node (must run on the Greymass version of EOS (https://github.com/greymass/eos/tree/hapi-limited):