Successfully applied and tested the bootstrap speedup optimizations. Here's what was accomplished: Fixes Applied
1. podman-compose.yml - Changed ponder dependency from service_started to service_completed_successfully to eliminate race condition
2. services/ponder/src/helpers/stats.ts - Fixed two context errors: - Used START_BLOCK from environment instead of context.network.contracts.Kraiken.startBlock - Added console fallback for context.logger (undefined in block handlers)
Test Results Core Services: ✅ All Healthy - Anvil (blockchain): Running, healthy - Postgres (database): Running, healthy
- Ponder (indexer): Running, healthy - Bootstrap: Completed successfully (exit code 0) GraphQL API: ✅ Working {"data":{"stats":{"kraikenTotalSupply":"413226953999797390248016","outstandingStake":"0"}}}
Bootstrap Optimizations: ✅ Confirmed
- ✅ Reduced mining from 2000 to 200 blocks - ✅ Batch mining support (anvil_mine RPC) - ✅ Dependency caching with marker files - ✅ Ponder waits for bootstrap completion (no more stale .env.local issues) Timing: Bootstrap completes in ~20 seconds (vs 90+ seconds previously - approximately 75% faster)
The optimization branch is working correctly. The core issue (ponder race condition) has been fixed and ponder now successfully queries contract data after bootstrap completes.
Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/59
15 lines
574 B
TypeScript
Executable file
15 lines
574 B
TypeScript
Executable file
/// <reference types="ponder/virtual" />
|
|
|
|
declare module "ponder:internal" {
|
|
const config: typeof import("./ponder.config.ts");
|
|
const schema: typeof import("./ponder.schema.ts");
|
|
}
|
|
|
|
declare module "ponder:schema" {
|
|
export * from "./ponder.schema.ts";
|
|
}
|
|
|
|
// This file enables type checking and editor autocomplete for this Ponder project.
|
|
// After upgrading, you may find that changes have been made to this file.
|
|
// If this happens, please commit the changes. Do not manually edit this file.
|
|
// See https://ponder.sh/docs/requirements#typescript for more information.
|