651
Kevin

@typedarray.eth #651

Building ponder.sh. EVM, TypeScript, open-source enjoyer.
265561 Follower 396 Following
New release! Ponder 0.6.0 improves observability, simplifies self hosting, and updates to the latest version of Viem.

- New /ready endpoint
- Terminal UI improvements (req/s, latest block)
- Better ETA formula
/Ponder
Should Ponder replace SQLite with PGlite (pglite.dev) as the dev database?

Pros:
1) Less magic/astonishment ("wait, what database am I using rn?")
2) Simpler schema definition API (currently stuck with the subset of stuff that both PG and SQLite support)
/Ponder
This is my favorite weird edge case in our codebase. If you manage to crash a Ponder app with this error, I'll give you $100.

github.com/ponder-sh/ponder/blob/c19358158d3be13e0c8bab8450ba16ab3f71011d/packages/core/src/sync-store/postgres/store.ts#L222-L230
/Ponder
You won't see it on GitHub, but it's a huge day here at Ponder HQ.
/Ponder
Do any EVM RPC providers support programmatic creation of API keys?
/EVM
If you noticed "missing events" in your Ponder app recently, you may have been affected by this (rare) bug. Upgrade to 0.5.3 for the fix.

It's more common on low-throughput chains where bloom filters are mostly empty. S/o @kjs and Mateus - was a team effort!

https://x.com/devjoshstevens/status/1816567954521383339
/Ponder
TIL about `overscroll-behavior`, a CSS property that controls the behavior of the overscroll/rubberband effect. Setting it to "none" on the <body> element can prevent the user from scrolling "behind" the web page.

https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior-x
/dev
Introducing API functions

With today's 0.5.0 release, you can build custom API endpoints directly in your Ponder app.

Use cases
- Replace GraphQL with tRPC or REST
- Build SQL queries with Drizzle
- Merge onchain & offchain data
/Ponder
We're hiring backend, infrastructure, and web framework engineers at Ponder (ponder.sh).

We have hundreds of production users, growing 40% per month.

NYC required. Team is 3 people, all engineers. DM with interest or referrals.
/Ponder
tRPC is absurdly productive
/dev
ok I need RANK TO GO UP. I cant take this anymore. every day I am checking rank and its dipping. every hour, check wait time, bad wait time. I cant take this anymore, I have over invested, by a lot. it is what it is. but I need cohort to START ALREADY. can devs DO SOMETHING
Claiming my /scoop profile with address: 0x973CFC9D37C21Eb42b366A464C9925639C45BCD0

let the scoop wars begin 🍦
/scoop
Just shipped a *very exciting* experimental feature in the Ponder telegram
/Ponder
Just got the best DM ever.
/Founders
Ponder is now 10-50x faster during historical indexing

0.4.37 introduces batched database writes & an in-memory cache for frequently accessed records

Apps that use a remote database will be much faster
/Ponder
TIL postgres has multirange types and operators

We currently store ranges in a table with `start` and `end` columns, and have implemented these set operations in app code

Might be able to delete a bunch of code and tests 😈

Docs: https://www.postgresql.org/docs/current/rangetypes.html
Ponder 0.4.35 improves support for Foundry/Anvil

With a few lines of code, you can integrate Ponder with any Foundry development workflow using `forge script`

Build your indexer alongside your smart contracts, all on your local machine
/Ponder
Is the term "devnet" still commonly used to refer to Anvil, Hardhat Network, Ganache?

Want to get the naming right for docs + public API decisions.
/EVM
New in Ponder: JSON columns

Use p.json() for
1) Solidity structs
2) Storing raw log/trace/receipt objects alongside application data
3) Any schema-less KV data

Include a custom TypeScript type to enjoy autocomplete + type checking across your app.
Shipped: Call trace indexing

This was a top requested feature from teams looking to migrate their subgraphs to Ponder.

Why use call traces?
POV: you work on tooling that's compatible with *any* EVM chain
/EVM