2026년 4월 블로그(영문)는 여기에서
https://thesymbolsyndicate.notion.site/April-2026-3e8a7f7eb5e480208ba0c6c9b6f75290
2026년 4월 Anthony’s Engineering Blog(일본어 번역)
4월은 미완성된 부분들을 실제로 사용할 수 있는 Explorer 백엔드 기능으로 만들어 가는 한 달처럼 느껴졌습니다. 모듈과 트랜잭션 스키마 등 일부 작업은 3월부터 시작되었지만, 4월에는 이 부분들을 검토하고 리팩터링하고 병합하여 실제 REST 엔드포인트로 연결했습니다.
풀러(데이터 수집 및 동기화 프로세스)는 블록의 모든 트랜잭션 유형을 처리해야 했고, REST 측에는 해시로 트랜잭션을 조회하거나 필터를 적용한 트랜잭션 목록을 표시할 수 있는 깔끔한 엔드포인트가 필요했습니다. 그 과정에서 수많은 리베이스, 리뷰 피드백 대응, 리팩터링, 테스트 업데이트도 이루어졌습니다. NEM Explorer 백엔드는 이렇게 조금씩 완성도를 높여 가고 있습니다. 🦾
주요 업무 개요
- 모자이크 모듈을 완성하고 병합했습니다.
- 블록에서 트랜잭션을 처리하는 작업을 완료했습니다.
/transaction/<hash>와 여러 필터를 지정할 수 있는/transactions목록 엔드포인트를 추가했습니다.- lightapi/python에 미확인 트랜잭션 지원을 추가했습니다.
- NEM 테스트넷에서 풀러의 동기화를 로컬로 확인했습니다.
각 업무에 대하여
모자이크 모듈
- 모자이크 모듈 개발은 3월에 시작되었으므로, 4월에는 주로 리뷰 피드백 대응, 리팩터링, 병합 작업을 진행했습니다.
- 모자이크, 모자이크 목록 및 리치 리스트의 REST 엔드포인트를 리팩터링했습니다.
- 모자이크 리치 리스트의 단위 테스트를 추가하여 엔드포인트가 올바르게 작동하는지 확인했습니다.
- 이 PR들이 병합되면서 모자이크 모듈이 완성되었습니다.
트랜잭션 풀러
- 4월에는 트랜잭션 풀러를 완성하는 데 집중했습니다.
- 풀러에 블록 내 모든 트랜잭션 유형을 처리하는 기능을 추가했습니다.
- 발신자의 공개 키에서
sender_address가 올바르게 변환되지 않는 버그를 수정했습니다. - 멀티시그 내부 트랜잭션은 트랜잭션 해시로 조회할 수 있으므로, 불필요한 내부 트랜잭션 ID 로직을 제거했습니다.
- 이 부분을 통해 트랜잭션 데이터를 저장하고 이후 조회하는 데 필요한 데이터 구조를 더 깊이 이해할 수 있었습니다.
- 여러 차례의 피드백과 리팩터링을 거쳐 트랜잭션 풀러 모듈이 마침내 병합되었습니다.
트랜잭션 REST API
- 풀러가 안정적으로 작동하기 시작한 뒤, 트랜잭션 REST 엔드포인트 작업을 시작했습니다.
- 트랜잭션 해시로 상세 정보를 조회하기 위한
/transaction/<hash>엔드포인트를 추가했습니다. - 트랜잭션 출력 로직을 리팩터링하여 응답을 더 간결하고 유지보수하기 쉽게 만들었습니다.
- 멀티시그 및 내부 트랜잭션 출력 지원을 추가했습니다.
- 이 엔드포인트를 통해 Explorer는 트랜잭션 해시로 트랜잭션의 상세 정보를 조회할 수 있습니다.
- 페이지네이션과 블록 높이 기준 정렬 기능을 갖춘
/transactions엔드포인트를 추가했습니다. height,transaction_types,address,senderAddress,recipientAddress,senderPublicKey필터를 구현했습니다.- 마지막 “mosaic” 필터는 쿼리가 모자이크 관련 트랜잭션 데이터를 정확하게 일치시켜야 해서 어려웠습니다.
/mosaic/transfers도 검토했지만,/transactions에서mosaic필터를 사용하면 같은 용도를 처리할 수 있으므로 채택하지 않았습니다.- 때로는 새 엔드포인트를 추가하기보다 기존 엔드포인트를 개선하는 것이 더 좋은 해결책이라는 점을 다시 깨닫게 되었습니다.
Lightapi / Python
- NEM Explorer를 지원하기 위해 미확인 트랜잭션 엔드포인트를 추가했습니다.
- 이를 통해 Explorer는 lightapi/python으로 미확인 트랜잭션 데이터를 조회할 수 있습니다.
- Explorer 백엔드 작업에 비하면 작은 변경이지만, Explorer가 기반 API 계층의 완전한 데이터에 의존하므로 중요한 변경입니다.
풀러 동기화 검증
- 풀러를 사용하여 NEM 테스트넷 데이터를 로컬 데이터베이스에 동기화했습니다.
- 로컬에서 동기화 프로세스를 확인한 결과는 좋았습니다.
- 풀러를 로컬에서 실행하기 위한 설정 가이드를 작성하여 설정 과정을 반복하고 테스트하기 쉽게 만들었습니다.
다음 계획
트랜잭션 목록 엔드포인트는 특히 필터 기능과 리뷰 피드백에 관해 더 검토할 필요가 있습니다. 그 후 나머지 Explorer 백엔드 엔드포인트 작업을 진행하고 프런트엔드와 통합할 수 있도록 백엔드를 준비할 예정입니다.
읽어 주셔서 감사합니다. 다음에 또 만나요! 🏴☠️
—