This documentation is for versions 0.1 – 0.6
. You may want to view the
latest version.
Installation
The create-ponder CLI tool is the best way to get started with Ponder. If it runs without error, your system meets the requirements.
System requirements
- MacOS, Linux, or Windows
- Node.js >=18 (support for Bun is in progress)
- pnpm (recommended), yarn, or npm
Windows
As of 0.4.7
, Ponder supports Windows via PowerShell, command prompt (cmd.exe), or Windows Subsystem for Linux (WSL). If you encounter a Windows-specific problem, please open an issue.
TypeScript
Ponder uses advanced TypeScript features to offer end-to-end type safety without code generation.
We strongly recommend taking the time to set up a working TypeScript development environment. It will pay dividends in the long run.
Requirements
- TypeScript
>=5.0.4
and viem>=1.16.0
- ABIs must be asserted
as const
following ABIType guidelines. - The
ponder-env.d.ts
file must be included in your project.
ponder-env.d.ts
This "magical" file is what makes Ponder's zero-codegen type system possible. The file contains a module declaration for "@/generated"
that exports types derived from ponder.config.ts
and ponder.schema.ts
.
Occasionally, Ponder's dev server may make changes to ponder-env.d.ts
after upgrading to a new version of @ponder/core
. When this happens, please commit the changes into version control.
VSCode
By default, VSCode's TypeScript language features use an internal version of TypeScript. Sometimes, this version does not meet Ponder's requirement of >=5.0.4
.
To change VSCode's TypeScript version, run TypeScript: Select TypeScript version..."
from the command palette and select Use Workspace Version
or update VSCode's version.