인증·서명 격리 + 재시도·이벤트 재구독 경험으로 설명
졸업 논문 프로젝트에서 이더리움 노드와 통신하는 백엔드 서비스를 처음 만들었습니다. 처음에는 RPC 호출을 아무 검증 없이 넣었다가 노드가 일시적으로 응답하지 않는 경우에 서비스 전체가 멈추는 문제가 생겼습니다. 이후 재시도 로직에 지수 백오프를 적용하고 노드 연결 상태를 주기적으로 확인하는 헬스체크를 추가했습니다. 인증 쪽에서는 개인키로 트랜잭션 서명을 서버에서 직접 처리하는 방식이 키 노출 위험이 있어서, 서명 로직을 별도 모듈로 격리하고 환경 변수로만 키를 참조하도록 바꿨습니다. 이벤트 구독은 web3.js 필터를 썼는데, 연결이 끊기면 이벤트가 누락되는 경우가 있어 재구독 로직을 명시적으로 구현했습니다.
블록체인 노드 통신은 일반 API보다 실패 케이스가 많아 방어 코드를 더 꼼꼼히 설계해야 하는 자리라는 걸 그때 배웠습니다.