main-logo

pxd Wallet

pxd Wallet의 제작 과정과 그동안의 이야기

profile
TY
2024년 08월 23일 · 0 분 소요

들어가며

지난해 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 경험은 있었지만, 실제 블록체인 위에서 개발한 경험이 거의 없었기 때문에 가장 기본적인 부분부터 시작하기로 했습니다.

 

1.png

pxd Wallet의 주요 화면

 

pxd Wallet의 차별성


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

사용자 친화적 설계

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

2.png

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

 

간편한 자산 보내기

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

3.png

자산 전송 과정

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

 

pxd Wallet으로 인한 기대 사항


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

 

마치며


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