정지용
프로젝트 목록
Web3

블록체인 이벤트 리스너 서비스

블록체인 이벤트를 주기적으로 감시하고 마지막 처리 블록을 추적하는 Node.js 리스너 서비스

blockchain-event-listener-service-docs최근 업데이트 2026년 7월 26일

개요

여러 블록체인 프로젝트에서 발생하는 이벤트를 감지하기 위해 만든 순수 Node.js 기반 리스너 서비스입니다. 프레임워크 없이 index.js를 엔트리포인트로 두고, 마지막으로 처리한 블록 번호를 파일(lastCheckedBlockNum.txt)에 기록해 재시작 시 중복 처리나 누락 없이 이어서 이벤트를 수집할 수 있도록 설계했습니다. 감시 대상 프로젝트 목록은 projectList.txt로 관리하며, Jest로 테스트를 작성하고 Docker와 Jenkins를 통해 빌드 및 배포 파이프라인을 구성했습니다. 이 레포는 해당 서비스의 구조를 공개적으로 정리한 문서 레포입니다.

담당 역할

블록체인 이벤트 리스너 서비스의 구조 설계 및 구현, 블록 상태 관리 로직과 CI/CD 파이프라인 구성을 담당했습니다.

아키텍처 다이어그램

레포지토리 분석 결과를 바탕으로 자동 생성된 구조도입니다.

흐름도

블록체인 이벤트 리스너 처리 흐름

리스너 서비스가 블록 상태 파일을 참조해 블록체인 이벤트를 순차적으로 감시하고 처리하는 흐름을 보여줍니다.

다이어그램을 그리는 중…
배포

배포 및 테스트 파이프라인

Jest 테스트를 거쳐 Docker 이미지로 빌드되고 Jenkins를 통해 배포되는 CI 구조입니다.

다이어그램을 그리는 중…

기술스택

각 기술을 이 프로젝트에서 어떤 용도로 썼는지 정리했습니다.

언어

  • Node.js프레임워크 없이 순수 index.js 엔트리로 리스너 서비스 구현

테스트

  • Jest리스너 로직에 대한 단위 테스트 작성

DevOps

  • Docker서비스 빌드 및 배포용 컨테이너 이미지 구성
  • JenkinsCI 파이프라인 구성 및 자동 빌드/배포

핵심 포인트

  • 프레임워크 없이 순수 Node.js index.js 엔트리로 경량 리스너 구현
  • 마지막 처리 블록 번호를 파일로 관리해 재시작 시 이어서 처리 가능
  • 감시 대상 프로젝트 목록을 별도 파일로 분리해 관리 용이성 확보
  • Jest 테스트와 Docker, Jenkins 기반 CI 파이프라인 구축

문제와 해결

문제서비스 재시작이나 장애 발생 시 블록 이벤트를 중복 처리하거나 누락할 위험

해결마지막으로 처리한 블록 번호를 lastCheckedBlockNum.txt 파일에 기록해 다음 실행 시 해당 지점부터 이어서 처리

레포지토리 정보

생성
2026년 7월 26일
최근 커밋
2026년 7월 26일
크기
0 KB
라이선스
없음

이 문서는 2026년 7월 26일 에 자동 분석으로 생성되었습니다.