[UFIC Explorer] 동아리 토큰 UFIC의 웹사이트 개발기

in #kr3 years ago (edited)

ufic_logo_v3.png

주식/암호화폐 연합 동아리 UFIC에서 2달 전 Waves 기반의 UFIC 토큰을 발행했습니다.
블록체인 위에 동아리원 명부와 동아리 계좌의 입출금 기록을 남기는 한편, 토큰을 가지고 재밌는 활동을 해볼 계획을 갖고 있었죠.

0. 동아리 토큰 UFIC 발행기
1. 동아리 토큰을 가지고 놀아보자



2월 말 동아리에 신입 부원이 들어왔고 3월 달 처음 Waves DEX에서 UFIC/WAVES 거래를 통해 동아리 회비를 납부하며 실제로 토큰 분배가 이루어졌습니다.

처음에는 Waves Explorer을 통해 TX를 남기고 거래 기록과 토큰 전송시 작성한 메시지를 활용해 볼 생각이었으나, 이내 UFIC 토큰만을 위한 웹사이트에 대한 필요성을 느꼈습니다. UFIC 토큰과 동아리 Waves 지갑에 대한 TX만을 뽑아와 트레킹하고, UFIC 토큰을 전송할 때 함께 넣는 메시지를 파싱해야 명부 등록이나 투표 등의 기능을 구현할 수 있었기 때문입니다.

동아리원 추가 모집이 끝나고 난 다음에 있는 OT 전까지 개발이 되야 OT때 제대로 토큰을 설명하고 활용해볼 수 있을 것 같았습니다.
우선 UFIC Explorer라 이름 붙인 UFIC 토큰 웹사이트의 주요 기능은

  1. 동아리 멤버 목록과 UFIC 토큰 홀더 목록 보여주기
  2. 동아리 Waves 지갑의 입출금 기록 보여주기
  3. 투표 결과 보여주기

입니다.

기술 스택에 대한 아이디어는 @asbear님의 steeme 서비스에서 얻었습니다. @asbear님이 사용한 React.JS와 깃허브 페이지를 통한 배포 방법을 선택했습니다. 평소 steeme를 좋아했기 때문에 코드도 많이 참고했고, steeme에 적용된 bootstrap 디자인 템플릿 위에서 작업했습니다(@asbear님께서 UFIC Explorer가 동일한 템플릿을 쓰는 것이 마음에 안드신다고 말씀하시면 다른 템플릿을 알아봐서 변경하도록 하겠습니다 ㅜ).

개발 시작전, React.JS를 공부하고 Waves에서 제공하는 API에 대해 조사했습니다.
예전에 교내 개발 동아리에서 React.JS를 스터디해본 적이 있는데, 기억이 잘 나지 않아 velopert님의 [React.JS] 강좌 목록을 보며 다시 공부했습니다. velopert님의 튜토리얼은 정말 좋습니다!

Waves 플랫폼에서 Waves Node REST API 개발 문서를 제공하고 있고, Waves 개발자가 이미 Node.JS로 waves-api를 개발해두었습니다.


이렇게 해서 개발한 UFIC Explore가 https://yguhan.github.io/ufic/ 입니다.

0. 동아리원

member.JPG
기본적으로 UFIC 토큰을 들고 있는 사람들의 목록인 UFIC 토큰 홀더 목록을 보여주며, 등록 과정을 거친 UFIC 토큰 홀더를 멤버로 보여줍니다. 등록 방법은 간단한 문자열 #register [기수] [이름] [년도-학기], 예를 들어#register 10 홍길동 2018-1을 적어 1 UFIC을 등록 지갑 주소로 전송하면 됩니다. 이후 UFIC Explorer가 등록 지갑 주소에 전송된 TX 중에 해당 #register로 시작하는 문자열을 파싱해 조건을 검사합니다.

1. 동아리 계좌

account.JPG
동아리 지갑으로 동아리 회비를 관리하며, Waves 블록체인 위에 기록된 입출금 내역을 가져와 보여줍니다. 입출금 시에는 동아리비 사용 목적을 적어 어떻게 쓰였는지 모든 동아리 회원이 알 수 있도록 합니다. UFIC 토큰은 Waves DEX에서 매도 주문을 걸어두었는데 3만원에 1천개 내외를 구입할 수 있도록 맞추어 두었습니다. 동아리 회비를 납부하는 대신 UFIC 토큰을 정해진 수량만큼 구매하는 시스템을 적용하고 있습니다. 토큰 구매 절차 탭에 Waves 지갑 생성 방법부터 Waves DEX에서 Asset ID를 입력해 UFIC/WAVES 페어를 추가하는 방법까지 자세하게 설명되어 있습니다.

2. 투표

vote.JPG
투표도 동아리원 명부를 작성할 때와 같이 UFIC 토큰을 전송하면서 같이 적는 문자열을 파싱하여 동작하도록 만들었습니다. 투표는 1인 1표가 아니라 1인 N UFIC 입니다. 많이 전송할수록 높은 영향력 행사가 가능합니다. 투표 생성 및 참여 방법은 관련 탭에 설명해 놓았습니다.

3. 소개

introduction.JPG
UFIC Explorer 및 UFIC 토큰에 대한 설명과 팀 소개가 있습니다.
동아리 토큰을 만든 취지와 이를 통해 얻고자 하는 효과를 정리해 두었습니다.

내부 공모전을 통해
ufic_logo_v3.png
위의 동아리 토큰 로고가 탄생했습니다. 마음씨가 착한 분들은 로고 속 'U', 'F', 'I', 'C'가 모두 보일 것이라 생각합니다 :)

ufic_logo_v2.png
저도 UFIC 토큰 로고를 하나 만들어 봤는데, 아쉽게도 선택되지 않았습니다 -ㅅ-

아래꺼 만큼 귀엽지는 않지만, 그래도 멋진 로고가 생겨 정말 기쁩니다!!


동아리 토큰은 만드는 것 자체보다 앞으로 어떻게 운영하느냐가 더 중요한 문제라 봅니다. 토큰 이코노미를 동아리 내에서 어떻게 수행해 갈지 걱정도 되지만 기대가 훨씬 큽니다.

steeme를 개발하신 @asbear님의 포스팅을 통해 많은 도움을 받았습니다. 감사드립니다.

Sort:  

멋진글을 늦게봤네요. 동아리 회비를 블록체인으로 관리해 투명하게 운용하고, 지분에 따른 영향력을 행사할 수 있다니!

재미있는건 UFIC토큰 발행기중에 동아리원이 회비를 추가납부하게되면 웨이브 가격변동에 따른 투자수익을 얻을 수 있다는 내용이있어 최근 하락장이 커서 걱정스러웠는데 다행히도 활동 멤버를보니 추가납부한 멤버는 없었네요.

읽다보니 궁금한게 있어 질문하나만 하겠습니다.

UFIC토큰은 투자보다는 회비납부의 개념인데, 동이리원이 UFIC가 올려놓은 1000개당 3만원수준보다 더 싸게 매도주문을 하면 어떻게되나요? 회비도 납부하고 웨이브도 벌고 이득인가요? 아님 횡령인가요?

그리고 회식 투표시 메뉴 선택지를 정해진 것 말고 만들어서 투표할 수 있게바꿔주시면 제가한번 근처 음식점 사장님한테 UFIC 토큰을 팔아보겠습니다.
앞으로 매일 회식하러 올거라고.. ㅎㅎ

추가 납부에 대한 건은 운영 시스템이 너무 복잡해지는 느낌이 있어서 생각만 해보고 시행하지는 않았습니다 ㅎㅎ

1 동아리원이 더 싼 가격에 UFIC 매도 주문을 넣을 가능성

동아리원 개개인의 UFIC 토큰 개수와 출입금 및 거래 내역 추적이 가능합니다. 또한 UFIC 토큰을 판매하여 Waves를 받는 것은 동아리비를 걷기 위한 형식일 뿐 실제 시장 논리에 의한 매매가 아닙니다. 동아리원 모두가 동비 납부 차원으로 인식하고 모여서 같이 하기 때문에 큰 걱정은 하지 않았습니다.

2 투표시 메뉴 선택지

질문 및 선택지는 투표 생성 방법을 참고해보면 사용자 정의가 가능합니다! 메뉴를 정할 일이 생길 때 투표로 결정되며, UFIC 토큰으로 지불할 생각은 아직 전혀 없습니다. 동아리 내에서 합의에 의해 가치를 부여하고 있지만 실제 시장 가치는 0에 수렴하기 때문입니다. 하지만 개당 약 30원에 판매된 기록 때매 Waves 지갑 장부상 토큰의 시가 총액은 약 3조 내외로 표시되고 있습니다 ,,,

토큰 지불이 아니라 스팀파워처럼 엄청난 영향력을 행사할 수 있도록요 ㅎㅎ 예를들어 장충동 왕족발 가게 사장님에게 50000토큰을 팔면 앞으로 회식때마다 50000토큰의 영향력을 앞세워 장충동 왕족발을 먹게되지 않을까요?

동아리 토큰이 범용적으로 쓰인다면 그렇게 활용될 가능성도 있겠군요.
지금은 UFIC 토큰은 유픽 내에서의 쓰임만 고려하고 있습니다.

Nice post thanks for sharing

Congratulations @yguhan! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!