1. 이더리움 블록의 **슬롯(slot)**이 12초 간격으로 생성된다면 타임스탬프 검색을 안해도 되는 것 아닌가요?

    A) 우선, 프로젝트를 진행하면서 특정 블록의 타임스탬프를 어떻게 찾을까란 생각만 했지 블록의 생성시간이 고정되어 있으니 기준점으로 부터의 수치 계산을 하면 되겠다 라는 생각을 하지 못했습니다. 좋은 접근 방법이다 라고 생각을 하다가 그렇다면 PoS 부터는 모든 블록의 생성 주기가 12초인가 궁금했고 이더스캔에 PoS 로 전환이 이루어진(The Merge) 2022년 09월 15일 경의 블록의 생성시간을 체크했는데 지금의 안정적인 네트워크의 평균적인 12초 주기와는 다르게 블록 생성 시간이 꽤 차이가 있는 것을 확인할 수 있었습니다. 하지만 Infura 등의 API 를 매번 수많이 호출하는 것에는 개선이 필요하다 생각하고 있었기 때문에 블록 포지션 검색 조건을 더 세분화 해 성능 개선을 바라는 과정의 좋은 제안을 받은 것 같아 기분이 좋았습니다.

  2. 당신의 API는 RESTful 한가요? RESTful API에 대해 잘 아시나요?

    A) 지금까지의 저의 API는 RESTful 하지 않았습니다. 솔직하게 REST가 무엇인지 몰랐습니다. 처음 개발자를 준비했던 시기에 RESTful API 에 대해 들어는 보았으나 정확한 이해를 하지 못한 채 블록체인 개발자로 일을 시작했고 API 개발에 많은 시간을 쏟지 않다보니 ****API 가 동작만 잘하면 되지, 나는 블록체인 개발자니까 RESTful API는 잘 몰라도 되지 않나 라는 조금은 부끄러운 생각을 하며 살지 않았나 반성했습니다. 현업에서 일하면서 API 에 대해 피드백을 받지 못한 것에도 조금 아쉬움이 남습니다. 아무튼, 이번 기회에 RESTful (API) 에 대해 제대로 알아보자 생각하며 로이 필딩(Roy Thomas Fielding) 의 논문을 포함해 여러 글과 영상을 보고 공부하며 제 식대로 REST 를 정리했습니다. REST 가 의미하는 그리고 RESTful API를 개발하는 개발자들의 마음을 조금은 헤아릴 수 있게 된 것 같아 기분이 좋았습니다. 시간을 내서 OpenAPI 와 더 나아가 OpenRPC 등 추가적으로 궁금했던 내용들까지 학습을 진행할 추진력을 얻게된 것 같습니다!

  3. 코드가 너무 길어요ㅠㅠ 모듈화를 해주세요.

    A) 전적으로 동의합니다. 프로젝트를 진행하며 세부 기능 구현과 이에 대한 테스트 코드 작성에만 너무 많은 힘을 쏟다보니 정작 통합 기능(함수)과 API 를 만드는 작업에는 코드 Ctrl+C, Ctrl+V 를 한 것 같습니다. 😂 그리고 Go 언어로 모듈화를 제대로 해보지 않았습니다. Go 언어로 개발은 많이 해오고 있으나, 현재 저에게 모듈화를 어떻게 할래라고 질문이 들어온다면 명확한 답 혹은 기준을 내놓지 못할 것 같습니다. Go를 오래 사용해오고 계시는 선배 개발자분이 모듈화를 잘 생각해서 꼭 해보라고 조언해주신 것을 명심하고 모듈화에 대해 깊은 고민을 하고 있습니다. 좋은 답을 찾아내겠습니다.