EOS Mobile Wallet Opensource Project

Henry Lee
GameXCoin
Published in
4 min readDec 27, 2018

GAME X COIN에서 Product팀을 담당하고 있는 Henry라고 합니다. 이번에 프론트엔드 개발자 Gabriel과 같이 개발한 EOS Wallet 앱인 ‘EOSID’에 대해서 공유하고자 합니다.

블록체인에서 Wallet은 없어서는 안 될 dApp입니다. 사용자는 Wallet을 단말로 사용하여 본인 계정을 조회하고 송금하는 등의 기본적인 블록체인 서비스 뿐만 아니라, dApp을 이용하기 위한 인증 및 서명까지 진행하게 됩니다. 블록체인을 사용하기 위한 시작점이지요.

우리는 EOS 생태계에 이러한 기능을 “잘” 제공해 줄 수 있는 EOS Wallet을 만들었습니다. 많은 Wallet들은 같은 dApp과 동일 플랫폼에서만 기능하기 때문에 사용성이 크게 제한됩니다. 우리가 생각한 Wallet은 휴대 가능하며, 언제 어디서든 dApp과 통신하면서 사용할 수 있어야 했습니다. EOSID는 개인화된 지갑이며, 다양한 플랫폼의 dApp에서 동작하도록 제작됐습니다.

우리의 개발 경험과 고민을 커뮤니티에게 더 잘 전달하고, 보다 투명하고 건전한 블록체인 생태계를 발전을 위해 EOSID를 오픈소스로 전환하여 공개합니다!

  • EOSID는 React native를 기반으로 제작되어 보다 빠르고, 적은 개발 자원을 사용하여 안드로이드와 IOS 앱, 두 버전에 출시가 가능합니다. 또한 expo 모듈을 사용하여 배포와 관리에 대한 비용 또한 대폭 감소 시켰습니다.
  • react native와 expo를 사용하는 환경에서 기존 eosjs와 eosjs-ecc은 호환 및 사용이 불가능합니다. 암호 모듈과 라이브러리가 node환경이 아닌 곳에서 동작하지 않아서인데, 이를 해결하기 위해 react native 환경에서 잘 동작하는 eosjs-rn과 eosjs-ecc-rn 모듈을 개발해서 사용했습니다. 해당 모듈은 하단 링크에서 확인하실 수 있습니다.

EOSID는 다음의 기능을 제공합니다.

[Views]
- Account Info (Key)
- Balance
- Resources (CPU, Network, RAM)
- Nodes (Mainnet / Junglenet)
- Transactions

[Functions]
- Import Account
- Transfer
- Stake / Unstake
- PermissionRequest

EOSID의 주 사용자는 EOS를 보유하고 있는 EOS 투자자를 대상으로 개발되었습니다. 그래서 금융과 관련된 자산을 확인 및 전송, 명세를 확인하는 기능에 초점을 맞춰 개발했습니다. 또한 EOS 투자자들을 대상으로 한만큼 기본적인 블록체인 지식과 EOS에 대한 지식을 알고 있는 사용자들을 타겟으로 개발하였습니다.

추가로 PermissionRequest 기능을 통해 사용자는 특정 데이터를 개인 Private Key로 서명하고 Public Key와 서명 데이터를 전달하여, 블록체인을 통하지 않고서도 Public Key와 서명 데이터로 소유자 증명을 할 수 있으며 소유자 증명을 통해 로그인과 같은 기능을 사용할 수 있습니다.

EOSID의 다음 버전은 블록체인을 잘 알지 못하는 유저도 사용할 수 있도록 UI/UX를 제공하고, 블록체인에 대한 내용을 최대한 감추고 포장할 예정입니다. 또한 dApp에서 모바일 Wallet으로 로그인을 요청하거나 서명을 요청하는 작업을 서로 다른 플랫폼에서 처리할 수 있습니다.

현재 EOSID는 Beta 버전으로 출시되어 Custom Token과 Custom Network를 추가하거나, 여러 언어 팩 지원 등 완성되지 않은 기능이 있습니다. 다음 버전에서 해당 사항들을 개선하여 배포할 예정입니다.

*EOSID Github 주소
https://github.com/Game-X-Coin/EOSID

*eosjs-rn
https://github.com/Game-X-Coin/eosjs-rn

*eosjs-rn-ecc
https://github.com/Game-X-Coin/eosjs-ecc-rn

*Google Play: Android App
https://play.google.com/store/apps/details?id=io.gamexcoin.eosid

*iOS는 현재 심사 중입니다.

*EOSID 소개 영상
https://youtu.be/N6DuRo__aAo

--

--