Content
@
0 reply
0 recast
0 reaction
Darryl Yeo đ ď¸
@darrylyeo
In 2024, I continued to solo-build @blockhead (/blockhead), an open-source interface for tracking onchain assets, exploring EVM chains and browsing web3 protocols! Feature highlights: ⢠15 new user-swappable data sources in Preferences ⢠NFT valuations in Portfolio ⢠EIP-6963 wallet discovery ⢠Apps and app views filterable by network ⢠experimental dynamic OpenGraph images and Farcaster Frames (v1) ⢠indexer/algorithm-agnostic @farcaster client using @airstack.eth @neynar @openrank @pinata @mod ⢠infinite scrolling ⢠icons in dropdown menus ⢠/eas schema and attestation explorer ⢠real-time block height visualizations for EVM chains in Explorer ⢠@moxie.eth auction, order and subject explorer ⢠transaction traces, input data and summaries in Explorer ⢠linked ENSIP references in @ensdomains explorer ⢠price feeds and historical price charts in Explorer / Apps ⢠most content sections retrofitted to be collapsible ⢠improved wallet connection management https://blockhead.info
2 replies
5 recasts
14 reactions
Darryl Yeo đ ď¸
@darrylyeo
The year was also not without opportunities to stretch frameworks to their limits and test new state-of-the-art tools across the JavaScript and TypeScript ecosystem! Technical highlights: ⢠1378 atomic Git commits ⢠extended SvelteKitâs server and routing functionality to handle Farcaster Frames v1 endpoints and generate OpenGraph images using `satori` and `resvg` (eventually forming the basis of skiffle.dev) ⢠adopted `gql.tada` (gql-tada.0no.co) for generating type-safe GraphQL queries in TypeScript (replacing houdinigraphql.com) ⢠adopted `dotenvx` (dotenvx.com) for secure and portable deployment-agnostic environment variables (allowing me to bypass Netlifyâs size limits) ⢠adopted `oazapfts` and then `openapi-typescript` for generating TypeScript REST API clients from OpenAPI / Swagger schemas (much leaner codegen footprint compared to `swagger-typescript-api`)
1 reply
1 recast
2 reactions
Darryl Yeo đ ď¸
@darrylyeo
It may not look like much on the outside, but I also took on some monumental refactoring and migration work behind the scenes to pave way for some new and exciting features! Codebase maintenance highlights: ⢠migrated from SvelteKit v1 â v2 ⢠migrated @viem public clients to use tree-shakable actions ⢠rewrote lots of CSS in terms of nested rules ⢠improved custom container auto-sizing and layout transitions ⢠fixed navigation issues with custom SvelteKit route parameter binding logic ⢠deprecated old components/code from previous hackathon experiments ⢠organized API clients, TypeScript types and data normalization logic into a consistent file structure ⢠migrated all queries to use TanStack Query, lazy-loaded Vite imports, pagination and client-side caching ⢠added new fields and retroactively implemented queries for each data vertical using existing APIs for maximum redundancy ⢠migrated most state management from Svelte v4 stores â v5 state https://github.com/darrylyeo/blockhead
1 reply
1 recast
3 reactions