DocumentationBlog

Apibara Blog

News and updates about Apibara

Subscribe to updates

ยท

Follow us on Twitter
3 Oct 2022

Dynamic event filters

This week's release of the Python SDK brings dynamic event filters! Dynamic event filters enable developers to add event filters while indexing, for example in response to another event.

Use cases for dynamic event filters include indexing:

  • DEX pools that are created by pool factories,
  • game rounds that are created by the main instance of the on-chain game.

To try out this feature, upgrade the apibara package to version 0.5.4.

After that you can subscribe to new events directly in your event handler. For example, the following snippet shows how to decode a PairCreated event from a Uniswap V2-like DEX and then subscribe to the Swap and Sync events on the new trade pair.

async def handle_events(info: Info, block_events: NewEvents):
for event in block_events.events:
if event.name == "PairCreated":
pair_created = decode_event(
pair_created_decoder, event.data)
info.add_event_filters(filters=[
EventFilter.from_event_name(
"Swap", address=pair_created.pair),
EventFilter.from_event_name(
"Sync", address=pair_created.pair),
])

You can find more information about dynamic filters in the documentation.

15 Sept 2022

Apibara streams are here

Today we are releasing the new version of Apibara and the Python SDK.

This release introduces Apibara streams: real-time and composable streams of web3 and web2 data. These changes improve Apibara developer experience significantly:

  • Faster indexing: the protocol can already stream tens of thousands of blocks per minute.
  • More flexible SDK: it's now possible to add features like whole-block indexing and dynamic event filters.
  • Simpler development: developers can get started building in only a few minutes, without depending on Docker.

All users are encouraged to upgrade today, we published a guide on how to migrate from version 0.4 of the Python SDK to the new version 0.5.

What's next

The Apibara streaming protocol is independent from the blockchain being indexed, this enables us to add support to multiple chains in the near future.

The new version also enables us to soon start offering free hosting for all Apibara indexers, subscribe to this block to be notified as soon as it becomes available!

18 Jul 2022

EVM Compatibility

We believe that multi-chain applications are going to be the future, and so we are making Apibara the best tool to build this type of applications. We started our journey by indexing StarkNet events, now we extend our reach to any EVM-compatible chain. Existing tools silo data in separate chain-specific databases, and from our experience developers need to spend a significant effort to integrate these sources together. We reduce the time needed to build multi-chain services by allowing multiple indexers to run side by side.

Chain-aware Document Storage [Preview]

Apibara now provides an API to store documents to a NoSQL database. Chain-aware means that Apibara stores documents together with information about the blockchain block where the data is derived from. This enables the service to automatically invalidate data on chain-reorganizations and roll back to the previous database state. This means that, from the developer's point of view, an indexer is like any other event-driven microservice since they don't need to handle low-level web3 details.

We are going to EthCC!

We are going to be in Paris for EthCC and StarkNetCC! If you'd like to meet us, just DM us on Twitter. We are excited to spend a week surrounded by developers, see what everyone is working on, and share ideas with the amazing Ethereum community.