Similar CLI tools
ethereum-etl
ethereum-etl is a tool for collecting raw historical data from EVM chains, including blocks, transactions, erc20 transfers, and internal traces. Along with the rest of the blockchain-etl stack, it powers the popular BigQuery blockchain datasets. The primary use case of ethereum-etl
and its associated stack is to index a significant portion of a chain’s history in preparation for large scale data analysis.
Prior to creating ctc
, ethereum-etl
was the primary data collection tool used by ctc
’s authors. It was extensive use of ethereum-etl
that inspired much of ctc
’s design. Compared to ethereum-etl
, ctc
falls closer to the porcelain end of the plumbing-vs-porcelain spectrum, with goals such as:
create more diverse datasets, such as datasets that rely on
eth_call
create more targeted datasets, such as datasets focused on specific protocols like Chainlink or Uniswap
create tighter integration with the python ecosystem
go beyond data collection by creating a data analysis toolkit that serves each stage of the data analysis lifecycle
implement quality-of-life improvements for the lazy
store and manage metadata such as addresses of tokens, oracles, and pools
automate tasks such as data encoding/decoding
TrueBlocks
TrueBlocks is a tool for managing optimized local indices of EVM chain data. TrueBlocks then makes these local data copies accessible through an enhanced RPC interface. TrueBlocks delivers some of the highest performance ways to query chain data and it excels at tracing and querying all appearances of a given address throughout a chain’s history. Since TrueBlocks can provide its data over RPC, it could be used as an ultra high performance RPC provider for ctc
.
There’s a decent amount of overlap between ethereum-etl
, TrueBlocks, and ctc
. Relatively speaking, ethereum-etl
is plumbing, TrueBlocks is mostly plumbing with some porcelain, and ctc
is mostly porcelain with some plumbing.
ethereal, seth, and cast
ethereal (go), seth (dapptools, bash+javascript), and cast (foundry, rust) are powerful command line utilities that each perform a wide range of EVM-related tasks.
ctc
has lots of overlapping functionality with each. Where they differ is their focus. These other tools are more aimed at smart contract development, whereas ctc
is more aimed at data collection and analysis. Compared to these tools, ctc
’s biggest disadvantage is that it is limited to read-only operations. On the other hand ctc
’s biggest advantage is its treatment of historical data as a first class feature.