Skip to content

subsquid/squid-sdk

Repository files navigation

Squid SDK - an ETL framework for Web3 data

Subsquid SDK is a TypeScript ETL toolkit for blockchain data, that currently supports

  • Ethereum and everything Ethereum-like
  • Substrate-based chains
  • Solana.

Subsquid SDK stands apart from the competition by

  • Being a toolkit (rather than an indexing app like TheGraph or Ponder)
  • Fast binary data codecs and type-safe access to decoded data
  • Native support for sourcing the data from Subsquid Network.

The latter is a key point, as Subsquid Network is a decentralized data lake and query engine, that allows to granularly select and stream subset of block data to lightweight clients while providing game changing performance over traditional RPC API.

Getting started

The best way to get started is to install squid CLI and scaffold a squid project with sqd init.

For step-by-step instructions, follow one of the Quickstart guides.

Developer community

Our developers are active on Telegram and Discord. Feel free to join and ask any question!

Contributing

Subsquid is an OpenSource project, contributions are welcomed, encouraged and will be rewarded!

Please consult CONTRIBUTING.md for hacking instructions and make sure to read our code of conduct.

Change Management

This project uses Rush for monorepo management. When making changes to packages, you need to document them using the rush change system:

  1. After making your changes and committing them, run:

    rush change -b origin/master
  2. Follow the interactive prompts to:

    • Select the type of change (major, minor, patch, or none)
    • Provide a clear description of what changed
    • The description should explain the feature/fix from a user's perspective
  3. Change types:

    • major: Breaking changes that require users to update their code
    • minor: New features that are backward compatible
    • patch: Bug fixes and small improvements
    • none: Internal changes that don't affect the public API
  4. Best practices:

    • Write clear, concise descriptions
    • Focus on what changed from the user's perspective
    • Include relevant technical details when necessary
    • Use present tense ("Add feature X" not "Added feature X")

The change files are automatically generated in common/changes/@subsquid/[package-name]/ and will be used to generate changelogs during the release process.

About

The main repo of the squid SDK

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages