Kusama Treasury Proposal: new features and update to latest Polkadot runtimes

Track: Small Spender
Value: 256 KSM (~4000 USD)

Project Background

Acuity Index was originally called Hybrid and was funded by two (1, 2) Web3 Foundations grants.

It solves a critical issue in the Polkadot ecosystem - it enables dapps with rich functionality to be fully decentralized.

Currently a fully decentralized Polkadot dapp can connect to any RPC for the chain and query the state. Results can even be verified by light client. This is how the Polkadot Developer Interface works. However, maintaining this level of decentralization is currently very limiting. For a rich UI it is necessary to query what has happened in the past and this is not currently possible to do in a decentralized way. For example, even a simple wallet dapp cannot display account transaction history without querying some centralized database.

Dapps tend to build their own centralized backends so the user interface can be fast and rich. This, of course, undermines some of the most important properties of a dapp: permissionless and trustless access to the system.

Solving this issue is key to the mission of Polkadot.

A record of everything that happens on a Polkadot chain is recorded in blocks in the form of events, but these are not indexed. For example, it is not possible to query for all the events related to a specific AccountId.

An Acuity Index node provides a standardized RPC interface for event querying in the same manner that a regular full node provides a standardized RPC interface for state queries. Therefore a dapp can be written in such a way that it is not tied to a single centralized backend.

Each chain needs to maintain its own implementation of Acuity Index so that indexing can be updated when the runtime is updated.

This Kusama Treasury Proposal is to update Acuity Index to fully index the latest Polkadot runtimes and to implement important features (detailed below).

After this work is complete another proposal will be made to host public access indexes for Polkadot, Kusama, Westend & Paseo.

Other major features planned are:

  • registering standardized RPC endpoints on-chain
  • standardized on-chain payments to pay for RPC access
  • updating indexing runtime on-chain

Deliverables

acuity-index-substrate

  • update to latest subxt
  • updating indexing of latest built-in Substrate pallets, events and keys
  • store events body in index and return via RPC (previously only block number and event index would be stored/returned)
  • store proofs in index and return them via RPC
  • support indexing of latest blocks instead of finalized blocks and do not return events from blocks that are not in the canonical chain
  • improve indexing performance of a node that is "catching up"

acuity-index-polkadot

  • use latest acuity-index-substrate
  • index latest Polkadot, Kusama, Westend & Paseo pallets, events and keys
  • update docker images for each chain

Point of Contact

  • name: Jonathan Brown
  • email: jbrown@acuity.network
  • Telegram: ethernomad
  • GitHub: ethernomad
  • X: bluedroplet

Timeline

The deliverables will be completed by the end of June 2025. An interim progress report will be published during the decision period.