Package Exports
- supagraph
- supagraph/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (supagraph) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Supagraph
Supagraph is an open-source toolkit for building efficient cross-chain indexes from onchain data.
Features
- ✅ - Index multiple chains with a single service
- ✅ -
onBlock/onTransactionand logeventhandlers in typescript (with side-effects) - ✅ - Fast initial load and reloads using
queryFiltersand a local cache - ✅ - Handle
asyncmessages in thesyncprocess to be awaited later (non-blockingasynchandling of sequential processes) - ✅ - Sync as a daemon or on a schedule
- ✅ - Support for migrations, factory contracts and recovery scripts
- ✅ - Support for cron based scheduling
- ✅ - Easy to deploy anywhere with minimal configuration
- ✅ - Efficient
graphql->mongoquerying for cheap data storage and retrieval - ✅ - Immutable storage option to snapshot state at any block (immutable by default)
- 🏗️ - Code / type generators and subgraph migration guides
- 🏗️ - Postgres / other database adapters and resolvers
- 🏗️ - Dashboard ui with sync monitoring and admin controls
- 🏗️ - Chain reconciles and reorganisations handling
Installation
To install supagraph, go to an empty folder, initialise a pnpm project (i.e. pnpm init), and run:
$ pnpm add supagraphDocumentation
Supagraph has been broken into two core stand alone pieces, sync and graphql, you might want to run either or both in order to index and/or query your data.
Tech Stack
We are depending on:
graphql-yogaandgraphqlto create a GraphQL endpointethersto mapEventsto storedEntitiesmongodb/node-persistas a persistence layertypescript,eslint, andprettierto maintain coding standardsttscandtypescript-transform-pathsfor comp
Breaking changes
We are working towards a v0.0.1, please expect non-semvar breaking changes until we reach a stable design. We will do our best to outline any changes which alter interfaces here:
v0.0.1-rc.64- renamedSyncseventAbiproperty toeventsfor consistency withconfig/handlerhookups
Contributing
If you would like to contribute to supagraph, please follow these steps:
- Fork this repository.
- Create a new branch for your changes.
- Make your changes and test them thoroughly.
- Create a pull request and describe your changes.
Support
Support can be found on our Discord channel #supagraph