voyager/plugins/event-source/evm/README.md
pleaselsdflkjs
This plugin provides event sourcing for EVM-compatible chains. All events are
read through the Ethereum JSON-RPC API, specifically the
eth_getLogs method. In order to run this plugin, both a state module and a
finality module must be loaded for the same chain. All IBC-related state is read
through the state module, allowing this plugin to take advantage of both the
built-in native caching in Voyager, and also potentially any additional state
fetching optimizations specific to the configured state module. All events
emitted by this plugin are considered to be finalized from the perspective of
this plugin, however finality is not managed internally, but the configured
finality module is relied upon for when to consider state finalized. This means
that this plugin can be used for any EVM-compatible chain, regardless of the
consensus or actual execution environment.
This plugin complies with the Voyager indexing plugin interface, and as such can
be triggered via the CLI with voyager index.
chain_id: String. The expected chain id of the EVM-compatible chain this
plugin will fetch events from, as a string. rpc_url will be checked against
this on startup (via eth_chainId).ibc_handler_address: H160. The address of the Union IBCHandler smart
contract on this chain. All events will be fetched from this contract.
Canonical deployments can be found here.chunk_block_fetch_size: u64. The maximum amount of blocks to fetch per
unroll step. The default value is 10, however for faster chains this value may
need to be increased. Higher values will increase the indexing speed, but can
also cause significant spikes in RPC usage.rpc_url: String. The JSON-RPC url for this chain.index_trivial_events: bool. Whether or not to fully index events that do
not produce a counterparty action (packet_recv, packet_acknowledgement,
packet_timeout, update_client). Not enabled by default. Beware that
enabling this option will likely drastically increase this plugin's RPC usage.max_cache_size: u32. The maximum cache size for the alloy
CachingLayer. The default value is 0, meaning no caching is performed by
default. Different workloads may perform better with different values, and as
such it is recommended to experiment with this value for each configuration.This plugin does not yet export any metrics.
TODO: Export metrics