Polkassembly Logo

Create Pencil IconCreate
Chat with KlaraComing Soon
OpenGov
View All Small Spender
Discussion#2674
Referendum#567

Acuity Index: omni-indexer

inSmall Spender
2 months ago
Rejected

Full proposal: https://index.acuity.network/proposals/2/

Currently Acuity Index works by decoding each event into a Rust type that has been generated automatically by the subxt macro by calling EventDetails::as_root_event()

This has a number of problems. Currently event types are only derived for the latest runtime for each chain. If events have been modified or removed during chain upgrades the latest version of the indexer may not be able to index certain events from older blocks.

One solution to this would be to derive event types and maintain indexing macros for all runtimes that a chain has had. The burden of maintaining the indexer for each chain would be large and complex.

During build the subxt macro is extremely slow and requires a considerable amount of RAM. Running it for every individual runtime would increase the build requirements considerably making maintenance even harder.

Converting the event into dedicated types also increases the CPU time required during indexing.

Consumers of the index (dapps) typically will not want to decode events into runtime-specific types. This would add to the complexity and maintenance burden of the dapp.

It is unusual for the schema of an individual event to change over a runtime upgrade. Typically events are added or removed.

A much better approach is to call EventDetails::field_values()

This has a number of advantages:

  • separate indexers do not need to be built for each chain
  • macros do not need to be written for custom pallets
  • chain indexing can be specified in a simple TOML file
  • a single specification can handle indexing all of a chain's runtime versions
  • decoded parameters for each individual event can be stored and returned in query results

A chain index specification will include the following config items:

  • name
  • genesis hash
  • list of block numbers where index updates have occured - re-indexing will occur as necessary upon upgrade of Acuity Index or index specification
  • default full node url
  • Polkadot SDK version - Acuity Index must be updated to support it
  • for each current or historic pallet either specify:
    • default for Polkadot SDK built-in pallets
    • custom for each event variant specify which parameters should be indexed by which key

Full proposal: https://index.acuity.network/proposals/2/

Comments (3)

2 months ago

If events have been modified or removed during chain upgrades the latest version of the indexer may not be able to index certain events from older blocks.

I wonder, did I not mention this exact situation in my unanswered comment on your previous proposal?

kukabi | Helikon

2 months ago

@🏔 HELIKON 🏔 

Yes - sorry for the delay. I responded in the previous proposal.

2 months ago

PolkaWorld Vote: AYE

The budget for such a critical infrastructure project is reasonable, and the deliverables (to be completed by August 2025) are clearly defined and measurable. If widely adopted, Acuity Index will enable wallets, block explorers, DeFi applications, and even future JAM-based dapps to operate without relying on centralized backends — a crucial step forward for Polkadot’s long-term decentralization narrative.

We also suggest the team produce detailed technical documentation and tutorials after delivery to ensure seamless integration for developers.

👉 See the full feedback here.

2 months ago

@POLKAWORLD thanks!

I just published a blog post explaining why Acuity Index is important for the Polkadot ecosystem: https://index.acuity.network/blog/polkadot-dapps/

Load more comments
PleaseLogin to comment

Requested

DOT
25.60K DOT

Proposal Failed

Summary

0%

Aye

AyeNay

0%

Nay

Aye (13)0.0 DOT

Support0.0 DOT

Nay (14)0.0 DOT

Help Center

Report an Issue
Feedback
Terms and Conditions
Github

Our Services

Docs
Terms of Website
Privacy Policy

A House of Commons Initiative.

Polka Labs Private Limited 2025

All rights reserved.

Terms and ConditionsTerms of Website
Privacy Policy