Skip to main content
Version: Current

Glossary

Archives

Deprecated term used for Subsquid Network and for the data sourcing service of the deprecated FireSquid SDK version. Occasionally refers to a chain-specific endpoint available from either source (e.g. "an Ethereum archive"). The new terminology is:

  • "Archives" as an abstract collection of services for some networks is replaced by "Subsquid Network" (when referring to data location) or "Subsquid Network gateway" (when referring to the service)
  • "public Archives" are replaced by the open private version of Subsquid Network
  • "an archive" for a particular network is replaced by "a Subsquid Network gateway"

Lists of gateways for open private Subsquid Network are available in these docs (EVM, Substrate) and via sqd gateways.

Not to be confused with archive blockchain nodes.

archive-registry

The deprecated NPM package @subsquid/archive-registry that was used to look up squid data sources by network aliases (with lookupArchive() and a small CLI). We now recommend using raw gateway URLs instead of lookupArchive() calls in processor configuration. The exploratory CLI is replaced by sqd gateways; lists of available network-specific gateways are also available as Subsquid Network reference pages.

Block

An atomic state transition of a blockchain. Typically an ordered collection of transactions.

Call

On Substrate, a call is a sub-routine changing the runtime state. An extrinsic consists of a root call which in turn may have sub-calls, thus calls executed by an extrinsic have parent-child relationship. For example, util.batch extrinsic has a single root call and multiple child calls. Subsquid processor is call-based rather than extrinsic based, as normally one is interested in specific calls changing the substrate state, no matter if it was part of a batch extrinsic, or it was wrapped in a sudo or proxy call.

Cloud (former Aquarium)

A cloud service for deploying squids in a serverless fashion maintained by Subsquid Labs GmbH.

Contracts pallet

Contracts is a pallet developed by Parity to execute WASM-based smart contracts.

ETL

Stands for Extract-Transform-Load. A pipeline to extract data from the source, enrich, transform, normalize and load into the target data store.

Event

An operation performed during a blockchain state transition that results in emission of a structured log message. Subsequently, the message can be retrieved from blockchain nodes.

EVM

Stands for the Ethereum Virtual Machine. An instruction set and the runtime specification originally developed for the Ethereum network which was later adopted by many other chains (e.g. BSC, Polygon).

Extrinsic

On Substrate, a generalized transaction externally submitted to a Substrate runtime for execution. There are technical nuances differentiating transactions and extrinsics.

FRAME pallets

A collection of standard Substrate pallets maintained by Parity. Currently kept in the Substrate Repo.

Frontier pallet

Frontier is a Substrate pallet implementing the Ethereum Virtual Machine. In particular, Substrate chains with Frontier pallet support EVM-based smart contracts.

GraphQL

A declarative query language and an API specification language developed by Facebook as an alternative to REST. See the official GraphQL docs for more details.

ink!

An SDK (software development kit) and a smart-contract language for developing WASM-based smart contracts, maintained by Parity. The contracts developed with ink! are compiled into a WASM blob compatible with the API exposed by the Contracts pallet. More details here.

OpenReader

An open-source GraphQL server that automatically generates an expressive API from an input schema file.

Pallet

A portable module that can be added to a Substrate runtime. Typically, contains a self-contained implementation of a business logic that can be re-used across multiple chains.

Schema file

A file describing the target data schema for a squid, normally called schema.graphql. The file uses a GraphQL dialect to define entities, properties and relations. See details here.

State

A key-value map defining the internal worldview of a EVM contract of a Substrate runtime at a specific point in time. The consensus algorithm ensures that the honest majority of the nodes agree on the runtime state.

Storage

On Substrate, a persistent key-value database kept by the chain nodes. It is used to access the current and historical state. See details on the Substrate docs page

Squid

A project consisting of an ETL for extracting and transforming on-chain data (squid processor), and optionally an API to present the data (squid API).

Squid processor

The ETL part of the squid. Extracts on-chain data from an Subsquid Network gateway and/or directly from chain RPC, then transforms and optionally enriches it with external data. Saves the result into a target data sink.

Squid API

The data presentation part of the squid. Typically, it's an OpenReader GraphQL API auto-generated from a schema file.

Substrate

Substrate is a framework for developing blockchain runtimes. Used to develop the Polkadot, Kusama chains and all the parachains.

Substrate Runtime

The code that defines the state transition logic of a blockchain, and by extention its business logic. See details on the Substrate docs page.

Squid SDK

Squid SDK is a collection of open-source libraries for building squids.

Typegen

A tool generating strongly typed data access classes from a metadata in some format. Subsquid SDK includes typegen tools:

  • for accessing EVM smart contract data based on the contract ABI
  • for accessing event, extrinsics and storage data based on Substrate metadata
  • for accessing ink! smart contract data based on the contract metadata

See this section for documentation on these tools.

WASM

A portable binary code format and an execution environment specification. WASM programs enjoy deterministic outputs and near-native execution speeds, which makes WASM an attractive alternative to EVM.