Install
curl -L https://rindexer.xyz/install.sh | bash -s -- --version 0.20.0Changelog
- mac apple silicon binary - https://github.com/joshstevens19/rindexer/releases/download/v0.20.0/rindexer_darwin-arm64.tar.gz
- mac apple intel binary - https://github.com/joshstevens19/rindexer/releases/download/v0.20.0/rindexer_darwin-amd64.tar.gz
Features
- feat: support reth natively in rindexer https://rindexer.xyz/docs/start-building/create-new-project/reth-mode + https://rindexer.xyz/docs/advanced/using-reth-exex
- Indexing with
eth_getBlockByNumberfor more efficiency (but still retain all debug/trace logic for future options) - Add a
NullableNumeric256 SQL type,NullableDateTime SQL type and Uuid SQL type - Add tx receipt endpoint as useful prep work for raw transaction indexing option
- Add an ever-so-slightly backpressured queue per "network-event" for super fair scheduling, decreased write contention on the database, and improved memory utilisation, can use 1/4 of memory with no throughput drop in some cases.
Bug fixes
- fix: ethereum/go-ethereum#31876 changed max address per logs to 1000 to be aligned with geth
- Use correct provider base which is
AnyProviderthat can handle optimism, rollups, and all evm chain style responses. - Misc tweaks to optimise how this native transfer fetching is done with batching, and pass rpc provider to allow for better batching in other endpoints
- Remove the permits system entirely, it's had some serious problems with fair distribution (where some events would consistenyl take more permits than others)
- We weren't writing to the db if no events were found in a block range... this was a major problem for highly infrequent events as rindexer wouldn't write the "last seen block", fixed.
- Fixed a pretty major bug with the "optimal log parsing regex" (where the BlockNumber::from_str() wasn't actually parsing the hex, so it silently failed and used sub-optimal fallbacks)
- Fix indexer codegen to use correct names and types, as well as fix formatting problems where rustfmt couldn't parse the nesting we were doing
- Other memory optimisations