1. 가상자산 수탁(커스터디)서비스 백엔드 개발
https://www.digitaltoday.co.kr/news/articleView.html?idxno=418296
- 기술스택: NestJS(TS), TypeORM, MySQL
- 금융사 수준에 맞게 가상자산을 안전하게 보관할 수 있는 서비스 개발
- 오너, 출금 신청자, 출금 승인자 등 유저 권한 분리로 복잡한 요구사항에 맞게 서비스 구현
- 블록체인 특성상 발생할 수 있는 타이밍 이슈들이 최대한 발생하지 않도록 방어 로직 구현 (이중출금 방지)
2. 헥슬란트 옥텟 V2 백엔드 개발
https://octet.im/
- 기술스택: Yarn V2(Berry), NestJS(TS), TypeORM, MySQL, Elasticache, Redis(MQ)
- 기존 옥텟 v1의 구조적인 문제를 해결하고 변화가 빠른 블록체인 시장에 대응할 수 있도록 확장이 쉽도록 설계
- 이더리움 기반의 네트워크 체인(BSC, Polygon 등)은 이더리움 로직을 재 사용할 수 있도록 함
- 출금을 비동기 방식으로 구현하여 성능 문제 발생 시 구조적으로 대응할 수 있도록 설계
- 쿼리 최적화 및 캐싱 도입으로 주요 API (출금 신청, 입출금 내역 조회, 주소 조회 등) TPS 평균 10배 이상 상승 작업
- DB에 순차적으로 증가하는 숫자 값을 Redis에 Write Behind 전략으로 구현해, 주소 생성 API TPS 100 -> 1300으로 성능 개선
- TypeORM의 findOne 함수로 조회 시 특정 조건에서 distinct 하는 서브쿼리가 발생하는 것을 발견하고 QueryBuilder로 직접 쿼리 생성하도록 변경하여 개선
- 입출금 내역, 주소 조회 쿼리의 실행계획을 보고 쿼리 튜닝 및 복합 인덱스 생성으로 성능 개선
3. 옥텟 V1 백오피스 개발
- 기술스택: Yarn V2(Berry), NestJS(TS), TypeORM, MySQL
- 사내 CI/CD 적용을 위해 테스트를 위해 개발 시 AWS의 Code Build, Code Pipeline을 적용
4. 트래블룰 시스템 개발
https://sly-tsunami-229.notion.site/2d9a743ca57c4b3494267830e0e2bed2
- 기술스택: NestJS, TypeORM, MySQL
- 사내 모든 서비스가 트래블룰을 준수하는 입출금을 할 수 있도록 트래블룰 솔루션인 CODE, VV를 이용할 수 있는 시스템 개발
- 옥텟 V2에 트래블룰을 준수하는 입출금을 할 수 있도록 API및 스케줄러 개발
더보기