프로덕션 Web3

04 / 12

Cross-chain Swap

같은 체인 swap, 브릿지, cross-chain swap을 하나의 단계형 실행 경험으로 통합했습니다.

역할
Frontend Lead
문제
Source 트랜잭션 성공이 전체 크로스체인 의도 완료를 보장하지 않는 것이 핵심 문제였습니다.
전략
경로를 먼저 분류하고 필요한 각 단계를 독립 status와 reference로 표현했습니다. 브릿지 observation을 별도 신호로 다뤄 인프라 지연과 실행 실패에 서로 다른 안내를 제공했습니다.
성과
별도 swap과 브릿지 제품이 필요했던 흐름을 하나로 통합했습니다.

01

문제 정의

왜 이 문제를 해결해야 했는가

Cross-chain Swap은 경로 선택, 선택적 승인, source 실행, 브릿지, target 실행, 복구를 하나의 제품 흐름으로 구성합니다.

사용자와 시스템이 마주한 문제

  • 선택한 경로에 따라 실행 단계의 수와 네트워크가 달라졌습니다.

  • Source 트랜잭션이 성공해도 브릿지 observer나 target 실행은 대기 중일 수 있었습니다.

  • 사용자는 observer 지연과 실제 브릿지 실패를 구분할 수 있어야 했습니다.

프론트엔드 오너십

프론트엔드 아키텍처를 리드하고 핵심 경로, 실행, 상태, 복구 경험을 프로덕션 운영까지 구현했습니다.

  • 체인, 토큰, pair, 경로 탐색

  • Swap, 브릿지, cross-chain mode 분류

  • Approve, source, 브릿지 observer, target 단계

  • 트랜잭션 정보, 오류, analytics, 유지보수

02

해결 전략

프로덕션까지 이어지는 시스템 전략

경로를 먼저 분류하고 필요한 각 단계를 독립 status와 reference로 표현했습니다. 브릿지 observation을 별도 신호로 다뤄 인프라 지연과 실행 실패에 서로 다른 안내를 제공했습니다.

시스템 모델

경로 선택 결과에 따라 선택적 승인, source-chain 실행, 브릿지 observation, target-chain 실행, 완료 또는 복구 안내가 이어집니다.

주요 구현 결정

  • 선택한 경로에 필요한 단계만 동적으로 구성했습니다.

  • Source와 target 트랜잭션을 독립적으로 추적했습니다.

  • 브릿지 observer 상태를 on-chain receipt 성공과 분리해 조회했습니다.

  • 사용자 거절을 영구 실패 화면이 아닌 재시도 가능한 상태로 되돌렸습니다.

03

성과

무엇이 달라졌고 무엇을 배웠는가

  • 별도 swap과 브릿지 제품이 필요했던 흐름을 하나로 통합했습니다.

  • 중간 성공을 최종 완료로 축약하지 않고 source와 target 진행을 보여줬습니다.

  • 장기간 네트워크, RPC, 가격 API, 지갑, 보안 변화에 대응했습니다.

배운 점

크로스체인 UX는 부분 성공을 정직하게 모델링해야 합니다. 복구 안내는 예외 부록이 아니라 주요 흐름의 일부입니다.

지금이라면

브라우저 세션을 넘어 유지되는 process ID, 취소·backoff가 가능한 polling, 명시적 partial-success 상태, 정식 복구 액션을 적용하겠습니다.

사용 기술

  • TypeScript
  • React
  • Next.js
  • Chainrunner SDK
  • Bridge API
  • Sentry

함께 일하기

이 정도의 프론트엔드 오너십이 필요한가요?

연락하기