taeyong.kim 2024. 9. 12. 07:50

들어가며

지난해 12월, 사내에서 사용할 목적으로 WEB3 pxd Wallet을 개발하기 시작했습니다.
이전에 WEB3 플랫폼에서 UI/UX를 고민하며 UI를 개발하고 일부 프론트앤드 작업을 해본 경험은 있었지만, 실제 블록체인과 스마트 컨트랙트와 관련된 프론트앤드 개발은 처음이었기에 거의 0에서 시작하는 느낌이었습니다.

개발 과정에서 블록체인 네트워크의 테스트넷을 사용해보며, ERC-20 및 ERC-721 토큰에 대한 이해를 쌓았고, 깊이는 아니지만 Solidity를 활용해 간단한 스마트 컨트랙트를 작성하고 이를 실제 블록체인 테스트넷에 배포하는 경험을 하며 이 과정에서 새로운 지식을 습득하기도 했습니다.
비록 업무와 병행하며 진행되었고, 우선순위에서 밀려 잠시 중단된 적도 있었지만, 꾸준히 진행한 끝에 마무리 지을 수 있었습니다.

이 글에서는 기술적인 내용보다는 pxd Wallet의 제작 과정과 그동안의 이야기를 중심으로 풀어보려 합니다.

 

pxd Wallet의 목적과 주요 기능


pxd Wallet의 개발은 ‘사내 WEB3 서비스의 자산을 관리하고, 활용할 수 있는 지갑을 개발하자.’는 목표로 시작되었습니다.
기존에 사용 중인 별점, 버디피 등의 다양한 서비스에서 활용 가능한 토큰을 관리하고 사용할 수 있는 지갑을 만들자는 취지였습니다. 또한, 사원증이나 재직증명서와 같은 문서들도 이 지갑을 통해 관리할 수 있도록 하는 것을 목표로 했습니다.

1차 목표는 다음과 같았습니다.

  • 로그인 기능
  • 지갑 생성
  • 토큰 및 NFT 보유
  • 토큰 및 NFT 전송
  • 토큰 및 NFT 수신
  • 자산 히스토리 조회
  • 자산 상세 정보 조회

블록체인 UI/UX 경험은 있었지만, 실제 블록체인 위에서 개발한 경험이 거의 없었기 때문에 가장 기본적인 부분부터 시작하기로 했습니다.

 

pxd Wallet의 주요 화면

 

pxd Wallet의 차별성


지금까지 사용해 본 여러 지갑들은 대부분 사용하기 불편하다고 느꼈습니다.
특히, WEB3 지갑을 사용할 때는 내 자산을 확인하고 전송하거나 받을 때 어느 정도 사전 지식이 필요했습니다.
그래서 pxd Wallet은 이러한 복잡함을 해소하고, 블록체인 서비스지만 사내에서만 사용된다는 점을 고려해 사용자 친화적인 UI/UX를 설계했습니다.

사용자 친화적 설계

  • WEB3 용어를 쉬운 표현으로 대체하여, 처음 블록체인 환경에 접하는 사용자도 익숙한 환경에서 지갑을 사용할 수 있도록 했습니다.
  • 이미 블록체인에 익숙한 사용자들은 원래의 WEB3 용어로 설정을 변경할 수 있는 옵션을 제공했습니다.
  • 사내 SSO(Single Sign-On)를 통한 로그인 지원으로 다양한 사내 서비스에서 쉽게 사용할 수 있도록 했습니다.
  • 사용자가 비밀구절(Seed Phrase)을 기억할 필요 없이 지갑을 사용할 수 있도록 설계했습니다.

한 번의 버튼 클릭으로 지갑 생성

 

간편한 자산 보내기

  • 사내 SSO를 활용해 사내 인원 정보를 미리 파악하여, 직원들 간에 간편하게 자산을 주고받을 수 있도록 했습니다.
  • 기존의 지갑 주소로 자산을 보내는 방식 대신, 등록된 이름으로 자산을 전송할 수 있게 했습니다.

자산 전송 과정

 
초기에는 기존 WEB3 지갑의 사용 방식에 익숙해져 있어서 비밀구절을 한글로 생성하는 방법이나 QR 코드를 제공하는 등 기존의 틀에서 벗어나지 못한 부분도 있었습니다.
 
그러나 사용자가 지갑을 잃어버렸을 때 어떻게 하면 더 쉽게 복구할 수 있을지 고민하면서 ‘가디언 지갑’ 개념을 생각하게 되었고, 외부에 공개되지 않는 사내 서비스라는 점을 고려해 사내 SSO를 활용하면 사용자가 굳이 비밀구절을 기억할 필요가 없어지고, 사내 SSO를 통해 로그인을 하여 지갑을 사용할 수 있게 되지 않을까? 라는 생각이 들어 기존의 WEB3 지갑과는 다른 방식으로 지갑을 생성하고 사용할 수 있도록 하였습니다.
 
이렇게 설계하니, 사내 인원끼리 자산을 주고받을 때도 굳이 상대방의 지갑 주소나 QR 코드를 알 필요 없이, 사내 인원의 이름만으로 자산을 전송할 수 있게 되었습니다. UI 역시 비밀구절 생성 프로세스를 제거함으로써 사용자가 지갑을 더 쉽게 생성하고 사용할 수 있도록 개선되었습니다.
 
거래 기록 상세 페이지도 설계했지만, 거래 기록 리스트에서 어떤 종류의 자산을 누구에게 언제 보냈는지 또는 받았는지에 대한 성공/실패 여부를 한눈에 볼 수 있게 하여 굳이 상세 페이지를 조회하지 않아도 되도록 간소화했습니다.
 
중요한 정보를 모두 보여주는 거래 기록 리스트

 

pxd Wallet으로 인한 기대 사항


pxd Wallet을 통해 기대되는 효과는 다음과 같았습니다.
  1. 사용자 경험 개선: 사용자 친화적인 인터페이스와 간소화된 자산 전송 프로세스를 통해, 모든 직원들이 WEB3 환경에 쉽게 접근하고 디지털 자산 관리에 대한 이해도를 높일 수 있을 것입니다.
  2. WEB3 기술 내재화: pxd의 블록체인 기술 내재화 과정에서, 핵심적인 지갑 개발을 통해 WEB3 기술을 활용한 개발 역량을 강화할 수 있을 것입니다.
  3. 사내 서비스 활용도 증대: pxd Wallet은 사내 다양한 WEB3 기반 서비스와 통합되어, 직원들이 회사의 디지털 자원을 보다 효과적으로 활용할 수 있도록 도움을 줄 것입니다. 이는 기술 장벽을 낮추고, 사내 서비스 접근성을 높이는 데 기여할 것입니다.
하지만 안타깝게도 함께 진행되던 사내 WEB3 서비스들이 하나둘 중단되면서, 제작 중이던 pxd Wallet도 사용할 수 있는 서비스가 없어졌습니다.
그럼에도 불구하고, 지금까지 진행된 프로젝트를 포기할 수 없었기에, 완성된 부분까지 마무리하고 함께 프로젝트를 진행했던 팀원들과 테스트를 진행하여 마무리를 짓게 되었습니다.

 

마치며


비록 현재 사용할 수 있는 서비스가 없고, NFT 자산 관리 부분은 미완성이지만, 기본적인 ERC-20 토큰을 관리하고 주고받을 수 있는 지갑을 완성했습니다.
 
이러한 경험을 통해 블록체인 서비스에 대한 이해도를 높였고, 실제 블록체인 서비스를 개발하고 운영하는 데 있어 어떤 부분을 고려해야 하는지에 대해 많은 것을 배웠습니다.
앞으로 사내 WEB3 서비스가 다시 진행된다면 pxd Wallet도 함께 재개될 것으로 예상됩니다. 물론 블록체인 환경은 눈 깜짝할 새에 변화하기 때문에, 그때는 지금과는 다른 표준과 기술이 있을지도 모르겠습니다.
 
언젠가는 이 경험과 결과물을 토대로 더 나은 서비스를 만들 수 있을 것이라고 생각합니다.

 

더 자세한 기술 정보를 보려면 XE 기술 블로그 원문(링크)을 확인하세요.