Subsquid Dev Log #7

Subsquid
3 min readFeb 18, 2022

It’s been a while since the last update, but this is only because the Squid Squad has been super busy! Your favourite deep-sea creatures are putting in a lot of work! 💪🦑

If you’ve been following us, you’ll know there have been quite a few announcements regarding collaborations with Astar and Nova Wallet, as well as about our Open Ocean Council Program. But the good news does not end there.

The team has been on a stabilisation phase recently, working initially on a variety of smaller improvements that has now rapidly expanded to include lots of interesting stuff.

Development on the Subsquid product has continued its steady growth and there’s no shortage of improvements coming from our integrations team as well.

Resource-intensive aggregation queries

While developing integration for an NFT marketplace (which will be announced soon! 🤐), performance issues attributable to very heavy aggregation queries started to surface. Our team promptly investigated the issue and resolved the bottleneck by applying a cache to those queries. This significantly boosted these queries’ performance.

Fixing this issue has left our team with a wealth of experience which we will be able to use with similar cases in the future.

Multi-chain support for Squids

We are also working hard on developing support for multiple chains within a single API. Currently we need to create multiple Squids with their own databases and endpoints, but the end goal is to stitch them together into one endpoint, encompassing all the involved blockchains.

This is the base concept behind our project to create a Universal Wallet API. Stay tuned for updates — this one’s going to be fun!

Type-safe API to access Runtime Storage

In our never-ending desire to build a better solution, we are adding another brick to the wall involving the data sources of our pipeline.

In some scenarios it might be useful for a Squid to directly connect to an RPC blockchain node and access the Runtime Storage and then the chain State, rather than just Events and Extrinsics in each block.

This is already possible thanks to the Open Source polkadot-js library, but we are building our own implementation to ensure type-safety when our data handlers access blockchain states.

This is another step in the constant improvement of our product that we strive for, as well as another great feature we can provide to developers building with the Subsquid framework.

EVM compatibility coming to Squids

This is huge! We are so excited to share this with our community.

Subsquid was born to provide developers with the ability to process Substrate’s Events and Extrinsics. To help Web3 builders, our framework provides an up-and-running backend in no time, ready to be customised and to start building whichever custom business logic they want to apply.

We always bear in mind however that the Polkadot ecosystem is about interoperability, a philosophy we subscribe to wholeheartedly. Because of this, we are in the process of finalising our EVM compatibility.

Our Archives already offer full support for EVM log fetching and filtering, but our core team has created a new npm package (@subsquid/substrate-evm-processor) that defines a new Processor class. This gives Squid developers the ability to add EVM Log Handler functions.

This feature will be officially released in the coming days. Nevertheless, it has already created opportunities for new integrations on top of EVM compatible chains.

Want to find out more about Subsquid? Join us on our Discord server, visit our website, or check out one of these resources:

Website, Twitter, Discord, Telegram, Subsocial, Reddit, Facebook, Instagram

--

--

Subsquid

Building a better standard for Web3 indexing and ETL. Support for EVM, Substrate, and WASM chains. http://t.me/subsquid & http://discord.gg/subsquid