https://github.com/subsquid/squid-sdk
The main repo of the squid SDK
https://github.com/subsquid/squid-sdk
Last synced: 2 months ago
JSON representation
The main repo of the squid SDK
- Host: GitHub
- URL: https://github.com/subsquid/squid-sdk
- Owner: subsquid
- License: apache-2.0
- Created: 2021-12-10T11:39:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2026-03-26T19:26:32.000Z (2 months ago)
- Last Synced: 2026-03-27T08:18:27.525Z (2 months ago)
- Language: TypeScript
- Homepage:
- Size: 17.2 MB
- Stars: 1,324
- Watchers: 22
- Forks: 191
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-web3-data - Squid - TypeScript ETL toolkit for blockchain data. (ETL Tools / Market Intelligence & Analysis)
- awesome-evm-data-tools - Squid SDK - is a set of open source Typescript libraries that retrieve, decode, transform and persist the data. (Indexers)
- best-of-crypto - GitHub - 39% open · ⏱️ 03.06.2024): (Others)
README
# 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](https://substrate.io)-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](https://docs.subsquid.io/subsquid-network/overview/)
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](https://github.com/subsquid/squid-cli) and scaffold a squid project with [`sqd init`](https://docs.subsquid.io/squid-cli/init/).
For step-by-step instructions, follow one of the [Quickstart guides](https://docs.subsquid.io/quickstart/).
## Developer community
Our developers are active on [Telegram](https://t.me/HydraDevs). 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](CONTRIBUTING.md) for hacking instructions
and make sure to read our [code of conduct](CODE_OF_CONDUCT.md).
### Change Management
This project uses [Rush](https://rushjs.io/) 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:
```bash
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.