[Klip] 지원 네트워크 3배 확대

📌 개요
프로젝트 참여 기간: 2025년 4월 ~ 현재
역할: iOS 앱 개발, 멀티체인 (Bitcoin, Solana, Tron, Arbitrum 등…) 지원
팀 구성: 기획자 1명, 디자이너 1명, iOS 2명, Android 2명, Server 2명, QA 3명
🧩 프로젝트 소개
'ABCWallet'에서 구축한 모듈을 'Klip' 앱에 이식하며 블록체인 지원 범위를 기존 4개에서 12개로 확장했습니다. Swift Package Manager 기반 모듈화와 클린 아키텍처를 적용해 코드 변경을 최소화하면서도 안정성과 재사용성을 확보했습니다. 이를 통해 다양한 네트워크를 유연하게 통합할 수 있었고, 실제 서비스 운영에서 확장 가능한 아키텍처의 효과를 입증했습니다.
🔧 기술 스택 및 아키텍처
아키텍처: Clean Architecture
모듈 관리: Swift Package Manager
기술: SwiftUI, Swift Concurrency, Combine 등

🚀 역할내 구현 사례
1. ABCWallet 모듈 이식
Domain / Data 영역에 ABCWallet 에서 사용했던 SPM 을 추가적용
Bitcoin, Solana, Tron 네트워크의 거래를 위한 추가구현



2. 자산 및 NFT 전송 추상화
전송 다양한 네트워크 및 암호화 알고리즘에 대해 추상화함
그 외에도 수수료(가스비) 계산 / WalletConnect / Receipt Polling 등을 추상화함.


3. Klip 프로젝트 스타일의 모듈 추가
ABCDomain / ABCData 모듈을 포함하고 기존 Klip에서 사용하고 있던 모듈중 핵심 로직을 Dependency 로 한 Klip 스타일의 새로운 모듈 추가.
Presentation Layer 에서 실 사용은 ModuleABC 를 사용.

🎯 성과
기존 4개 → 12 개의 블록체인의 거래를 지원.
팀원과의 협업
PR 기반 개발 프로세스를 정착시켜 코드 품질을 높이고 커뮤니케이션 효율을 개선.
Android 개발팀과 소통을 통해 로직을 교차검증함.
🧠 회고
1. 모듈화과정
기존 'ABCWallet' 프로젝트는 관심사의 분리가 폴더기반으로 느슨하게 분리가 되어있어서 모듈화 하는데 어려움이 있었음.
'Klip'에서 재사용할 부분인 Domain, Data 영역을 중점적으로 모듈화 했으며 그중에서도 Crypto, NFT 등의 자산송금, 서명(signTypedDataV4, personalSign) 등을 모듈화했음.
동일 도메인의 다른 앱에 사내의 비즈니스 로직을 이식하여 코드의 재활용성을 극대화하는 좋은 경험을 했음.
2. 사용자 경험은 ↓
'ABCWallet' 의 백앤드를 이용하기 위해서는 ABC의 인증토큰을 발급받아야하는데 이를 'Klip' 유저가 자연스럽게 발급받게 하려면 시간이 조금 더 필요했지만 개발기간이 2주로 너무 촉박했음.
기존 'Klip' 은 Crypto, NFT 등을 송금하고 자산의 변경이 즉시 앱에 반영되는데, ABC 의 백앤드는 이 기능이 없어서 사용자가 수동으로 Pull to refresh 를 수행해야함. 또한 노출가능한 거래내역이 200개로 제한되었음. 사용자 입장에서 다운그레이드라고 느낄 수 있는 변경은 신중할 필요가 있어보임.
Last updated
