Content pfp
Content
@
https://warpcast.com/~/channel/ponder-sh
0 reply
0 recast
0 reaction

Kevin pfp
Kevin
@typedarray.eth
Ponder 0.4.0 - Better direct SQL experience - Faster indexing for apps with >10 contracts - New terminal UI - Express -> Hono - Fixed annoying "there is a newer version of the record" bug Migration guide: ponder.sh/docs/migration-guide#040
2 replies
3 recasts
25 reactions

Kevin pfp
Kevin
@typedarray.eth
This release changes how Ponder stores indexed data & reconciles reorgs. Before 0.4, Ponder stored indexed data in "versioned" tables (like an audit log). This made it easy to support time-travel queries and reorg reconciliation, but had serious DX, perf, and complexity costs.
1 reply
0 recast
0 reaction

Kevin pfp
Kevin
@typedarray.eth
When we shipped direct SQL support a few weeks ago, we found that (because of versioning) the experience kinda sucked. With 0.4, Ponder stores data in normal tables, and uses separate tables to reconcile reorgs. Now \dt just works, and tables show up in database explorers.
1 reply
0 recast
0 reaction

Kevin pfp
Kevin
@typedarray.eth
Plus, we can now: - Skip writing to reorg tables during historical indexing (roughly half as many writes) - Prune finalized data from reorg tables in realtime to save on disk usage (amount depends on frequency of creates vs updates/deletes) Release: github.com/ponder-sh/ponder/releases/tag/%40ponder%2Fcore%400.4.0
1 reply
0 recast
0 reaction

Kevin pfp
Kevin
@typedarray.eth
But, we had to remove support for time travel queries. While occasionally clutch, we found that in practice they fall short for most time-series use cases, and users end up rebuilding the feature manually in user-land. New docs on time-series data: ponder.sh/docs/indexing/time-series
1 reply
0 recast
0 reaction

Kevin pfp
Kevin
@typedarray.eth
We also rebuilt the terminal UI to include more details about historical sync progress and indexing function performance.
1 reply
0 recast
0 reaction

Kevin pfp
Kevin
@typedarray.eth
Finally, we migrated from Express to Hono. This was a no-brainer, and unblocks some fun work we have planned for Ponder’s API layer. hono.dev/concepts/benchmarks
1 reply
0 recast
0 reaction

Kevin pfp
Kevin
@typedarray.eth
With this work behind us, we have a bunch of stuff in flight: - Call trace indexing - Transaction receipts (adds `event.receipt`) - Cron events (AKA block handlers) - Custom database indices Docs: ponder.sh GitHub: github.com/ponder-sh/ponder Telegram dev chat: t.me/ponder_sh
0 reply
0 recast
0 reaction