- you have pnpm installed
- you have docker installed
- you have envio installed
Install dependencies:
pnpm install
Generate code:
pnpm codegen
Run envio indexer locally with docker:
pnpm dev
Explore the graphql endpoint for indexed data:
- visit http://localhost:8080
- use the password
testingto explore the graphql interface
This project uses a two-step GraphQL schema approach for better maintainability:
- Contains the original GraphQL schema with interface definitions and spreads
- Uses
...InterfaceNamesyntax to reference shared interface fields - This is the file you edit when making schema changes
- Automatically generated from
config.schema.graphql - All interface spreads are expanded into their actual field definitions
- Ready for code generation and indexing
- Do not edit this file directly - it will be overwritten
- Development/Codegen: The
parse-schema.tsscript automatically processesconfig.schema.graphql→schema.graphql - Pre-commit Hook: Schema processing runs automatically before each commit to keep everything in sync
- Interface Resolution: All
...InterfaceNamespreads are replaced with the actual interface field definitions
# config.schema.graphql (what you edit)
interface FeeBase {
timestamp: Int!
amount: BigDecimal!
}
type ProjectFee implements FeeBase {
...FeeBase
recipient: String!
}
# schema.graphql (automatically generated)
type ProjectFee {
timestamp: Int!
amount: BigDecimal!
recipient: String!
}Make sure you have your docker pnpm dev running with your latest changes.
pnpm compile
pnpm release
# Once ready to publish, run:
pnpm release:pub