This repository is a monorepo for the Zora Protocol.
In it you will find:
- Legacy Contracts - Contains legacy contract packages (1155-contracts, erc20z, sparks, cointags, protocol-sdk, etc.)
Install prerequisites:
Install dependencies:
pnpm install
This repository uses an optimized build system with two distinct build modes:
For JavaScript/TypeScript development and wagmi consumption:
pnpm build:js
This command:
- Builds only the JavaScript/TypeScript artifacts needed for client applications
- Generates wagmi-compatible type definitions and ABIs
- Skips full Solidity compilation for faster builds
- Is optimized for frontend developers and SDK usage
For complete contract development and testing:
pnpm build
This command:
- Performs full Solidity compilation with all optimizations
- Generates all contract artifacts (out/, abis/, dist/)
- Required for contract development, testing, and deployment
- Slower but comprehensive build process
Build documentation sites:
pnpm build:docs:coins # Build coins documentation
pnpm build:docs:nft # Build NFT documentation
Run tests:
pnpm test
Run in development mode (watch tests):
pnpm dev
Format and lint code:
pnpm format
pnpm lint
-
Use
pnpm build:js
when:- Developing frontend applications with wagmi
- Working with the SDK packages
- You only need TypeScript definitions and ABIs
- You want faster builds for iteration
-
Use
pnpm build
when:- Developing or modifying Solidity contracts
- Running comprehensive tests
- Preparing for deployment
- You need all contract artifacts
Report security vulnerabilities and learn about our Bug Bounty Program here.