실시간으로 작동하도록 하기 위해 Tenderly 알림을 추가했습니다. 하지만 GitHub Actions를 직접 깨울 수 없어서 Cloudflare Worker를 중간에 추가해야 했습니다.
그러다 Cloudflare Worker로 완전히 마이그레이션하는 게 어떨까 하는 생각이 들었습니다. 최종적으로 구성한 아키텍처는 정적 페이지를 제공하는 Worker입니다. Tenderly는 새로운 트랜잭션이 도착하면 웹훅을 사용하여 해당 페이지를 호출합니다.
이 워커는 트랜잭션을 D1 SQL 데이터베이스에 인덱싱하고, 키-값 관계(KV)에서 정적 페이지로 API 형태로 제공하는 JSON 대시보드를 다시 빌드합니다.
웹훅이 작동하지 않을 경우를 대비하여 매일 실행되는 cron 작업도 추가했습니다. 모든 것이 매우 간단하고 잘 작동하며 유지 관리가 전혀 필요하지 않습니다.
큐를 사용하여 더 복잡한 워크플로로 확장할 수도 있습니다. 전반적으로 Cloudflare 기본 기능들이 사용하기에 매우 편리하다고 생각합니다.
Web3 웹훅 옵션으로는 Tenderly(무료 플랜에서 3개 얼터 사용 가능)와 Alchemy(무료 플랜에서 5개 얼터 사용 가능)가 있습니다.
twitter.com/banteg/status/2040...