Core development notes and updates

2021-12-10

Some more notes on recent core development.

GIP-0020 Implemented: this is now supported across all core components, unlocking more graceful handling of unattestable queries by indexers and the gateway.

Indexer components 0.18.4: this was released yesterday, across indexer-service, indexer-agent and indexer-cli

Firehose integration & testing: this continues to be a key focus area, with progress in a few areas (ensuring sync status compatibility, addressing bugs in callhandlers, establishment of a dedicated block ingestor, and research into contract filtering for improved performance)

Graph Node performance and robustness: improving Graph Node’s performance is a key current focus area, with a range of optimisations in flight (skip block pointer updates, blockstream pipelining, automatic subgraph retries, parallel receipt ingestion and more). In addition there is work to establish an easier setup for performance benchmarking (e.g. introducing a stop block variable)

NEAR support: graph init was extended to support --protocol near, so NEAR developers can easily bootstrap their subgraphs. Meanwhile NEAR testnet indexing support on the Hosted Service is targeted for the coming weeks.

Tendermint integration: the GIP was published in the forum, for review & comment.

Change block filtering: when querying subgraphs, users will often want to fetch any new entities, since they last queried. Work is in progress to support this functionality for all subgraphs, via a new “_change_block” filter argument.

GraphQL API Versioning: specification of this feature is in progress, which will enable breaking API improvements, as well as guaranteeing client-defined query determinism

Subgraph forking: the subgraph debug feature by Limechain has evolved to improve the developer experience, PR in progress

6 Likes