Parity returns `null` for many uncle blocks, if they are fetched using
`eth_getBlockByHash`. This is most probably caused by the fact that Parity
only keeps full block data for recent non-consensus blocks.
This causes uncle_block fetcher to loop endlessly trying to fetch "missing"
blocks, hogging both app server and Parity resources.
Instead, we use `eth_getUncleByBlockHashAndIndex` method, which works for
all uncle blocks.
As we didn't previously store index of an uncle block within a nephew block,
a new field and a temporary fixup fetcher is added to get the index from
nephew blocks.
* Describe indexer structure and list existing fetchers
Resolves#1628
An error occurred
.
A brief description of indexer structure is added to `README.md` of `indexer` application.
Installation instructions are removed, as they don't make sense for sub-app of umbrella application.
* Add CHANGELOG.md entry
`Indexer.Memory.Monitor` checks if the BEAM memory usage exceeds a set
limit (defaults to 1 GiB) and if it does, it asks the process with the
most memory that is registered as shrinkable to shrink.
Replicate the information about how to test against Geth/Parity and
Sokol/Ethereum Mainnet to the other READMEs that use the Mox
infrastructure for EthereumJSONRPC, so that they are not missed by
developers that don't need to look to EthereumJSONRPC.