토큰뱅크 (현재 오하이월렛)

토큰뱅크 (현재 오하이월렛)

 
notion image
 
성장 포인트
💡
- 공통 로직과 서비스 로직이 동시에 커지면서 발생하는 Big ball of Mud(진흙 공 패턴)를 실제로 경험하면서, 계층 분리의 필요성객체의 분명한 역할을 부여하려 노력하고 있습니다. - Dynamic Language인 파이썬의 특징이 오히려 독이 될 수 있다는 것을 느끼고, 타입 힌트pylance를 적극적으로 활용하여 에러 가능성을 줄이려 노력하고 있습니다.
 
용어 정리
 
프로젝트 진행기간
  • 2021.06 ~ 2023.02
 
요약
  • Django 기반의 가상자산 보관 서비스 토큰뱅크 백엔드 개발
  • 토큰뱅크 가상자산사업자 담당 개발
  • 신한 SOL과 협업하여 NFT 지갑 탑재기능 개발
 
역할
  • 백엔드 API 유지보수 및 신규개발 (Django Rest Framework)
    • 레거시 코드 ORM 최적화
      • Queryset의 캐싱과 Eager Loading을 적극적으로 활용하여 불필요한 쿼리를 통합했습니다.
  • 가상자산사업자 담당 개발
    • 고객확인(KYC) 플로우 설계 및 API 개발
      • 외부 솔루션을 사용한 주민등록증 OCR 및 진위확인, 마스킹까지 사용하여 고객확인을 진행하였습니다.
        통신간 개인정보 탈취를 고려하여 AES + RSA를 복합적으로 사용해 페이로드를 암호화하였습니다.
        개인정보 보호를 위해 DB 또는 S3 버킷에 객체나 평문을 저장 시 암호화하였습니다.
    • 입출금 시 발생하는 이상거래탐지(FDS) 로직 구현
      • 다양한 케이스의 FDS 유형 중에 공통 ORM, 효율성을 고려하여 설계했습니다.
    • 트래블룰 솔루션 대응개발 (CODE, VV)
      • 복잡한 공통 로직을 최소화하기 위해 Mixin을 활용한 다중상속과 상속클래스를 기반으로 서비스 계층을 분리하여 개발했습니다.
 
성과
  • 기존에 있던 레거시 코드들을 대상으로 Test Code를 작성하여 API의 Test Coverage 60% 이상까지 끌어올림
  • 트래블룰 솔루션 CODE에 첫번째로 연동되어 토큰뱅크(헥슬란트) 외 6개 거래소와의 입출금 지원 선점
  • 신한 SOL에 토큰뱅크 지갑으로 NFT 입/출금 기능 개발
→ 관련 기사