안녕하세요. 개발자 모도리입니다.
Ethernaut를 꾸준히 올릴 생각이었는데... 이것 저것 바쁜 척을 하느라 못 올리고 있네요 ㅠㅠ
다니던 회사를 6월에 그만 두고 7월부터 백수로 지나고 있습니다. (백수가 더 바쁘더라고요)
회사를 그만두고 가장 먼저 한 것이 해커톤 참가였습니다.
7월 5일(목) ~ 7일(토) 한화 드림플러스에서 진행 된 Block Party 2기에 참석 했었습니다.
일반적으로 해커톤이라고 하면 밤을 새면서 피자와 콜라로 버티며 좀비처럼 코딩을 할 거라 생각하시겠지만, 이번에 참석 했던 행사는 강의 + 해커톤의 형식으로 진행되었습니다. 그래서 1일차와 2일차 까지는 거의 강의 위주로 진행되었으며 실제로 구현할 수 있는 시간은 1일 정도라고 보시면 될 것 같네요.
강의의 대부분은 영어로 진행되었습니다. 그 덕분에 저를 포함해서 멘붕 오신 분들이 많이 계셨죠 ㅠㅠ
1일차
기본적인 이더리움의 설명과 더불어 이더리움 스마트 컨트랙트, Dapp 개발에 대한 전반적인 내용 가르쳐주었습니다. 그리고 마지막 실습으로 ERC20 토큰 생성과 ICO 컨트랙트를 생성해서 토큰 판매까지 할 수 있도록 했습니다. 개인적으로 마음에 드는 방식으로 실습이 진행되어서 즐겁게 임했습니다. 모든 코드를 다 작성하기에는 무리가 있으니, 중요 코드를 빈칸으로 비워 놓고 코드에 대한 힌트를 주석으로 달아 놓은 형태였습니다.
해당 코드 Github
그리고 5~6인으로 랜덤하게 팀을 구성하고 1일차 일정은 마무리가 되었습니다. 각 팀끼리 알아서 모여서 아이디어 회의를 하는 형태였습니다. 저희 팀은 저 포함 5분이 함께 하셨습니다. 팀 원 중 한 분의 자취방으로 가서 아이디어 회의를 진행했고, 피트니스센터 멤버십 토큰,미술품 경매,숙박 공유 서비스,동전 뒤집기 도박 등의 아이디어가 나왔습니다. 그 중에서 숙박 공유 서비스를 선택하고 간단한 기능까지 기획을 한 후 팀 모임을 마무리 했습니다. 이 때 프로젝트명인 Temabnb가 만들어졌는데... 이건 github 생성 시 team이라고 입력해야 되는데 오타로 tema가 되어서 그냥 그대로 사용하게 되었습니다.
1일 차 생성했던 Github
2일차
2일차에는 다양한 이더리움 Dapp 경험 사례들과 토큰 이코노미에 대한 강의가 진행되었습니다. 스포카, AWS, 해시드 등에서 오셔서 좋은 경험들을 공유해 주셔서 좋았습니다. (물론 한국어로 말씀해 주신 덕분도 있고요.^^)
그리고 강의 종료 후 본격적으로 팀 프로젝트를 시작했습니다. 팀원 분들과 역할을 분배해서 각자 맡은 컨트랙트를 구현했습니다. 저희의 기본 목표는 사용자 시나리오대로 한 바퀴 돌아갈 수 있는 MVP(Minimum Viable Product)를 만드는 것이었습니다. 많지 않은 시간으로 인해 구현이 어려운 기능들은 생략도 하고, 범위도 많이 줄여서 진행을 했습니다. 그래서 호스트가 방을 등록하고 게스트가 방 목록을 확인해서 예약을 한 후 다 사용하고 체크아웃을 하는 기능을 중심으로 살을 붙이기로 했습니다. 팀 원 중 한 분께서는 TDD가 생활화 되어 있으셔서 멋지게 Test 코드를 작성해 주셨습니다. 덕분에 버그 걱정없이 마음 편히 코드를 짤 수 있었습니다.
기본적인 방 등록 / 예약 / 체크아웃을 우선 구현하고 난 후에는 토큰 이코노미를 입혀보고 싶었습니다. 그래서 TemaToken이라는 ERC20 토큰을 발생하고, 구매할 수 있는 마켓플레이스도 만들었습니다. 그리고 해당 토큰으로 예약을 할 수 있게 했습니다. 생각보다 프로젝트가 빨리 진행되어서 저희는 10시 이전에 해산을 하고 집으로 돌아갔습니다.
3일차
드디어 마지막 날! 이 날은 오전까지만 프로젝트를 진행하고 나머지 시간은 전부 발표가 진행되었습니다. 아침에 가자마자 호스트/게스트가 서로의 평판을 작성하면 보상으로 토큰을 지급할 수 있는 시스템을 추가했습니다. 여기까지만 했어도 충분히 데모가 가능한 수준이었습니다. (애초에 대회 측에서 요청했던 데모 수준은 프론트 없이 스마트 컨트랙트 만으로 Remix에서 데모할 수 있는 수준을 요구했었습니다.) 그런데 우리 팀은 조금 더 욕심을 부려서 Web3를 사용해서 프론트까지 만들어 보자!!로 목표를 수정했습니다. 그래서 저는 프론트 쭈구리이기 때문에 투 트랙으로 진행해보자고 하여 Mock-up을 작성하고 발표 자료를 준비했습니다.
총 10개 팀이 참가하였고, 그 중에서 코드, 발표 자료를 기준으로 6개 팀 만이 무대에서 발표를 할 수 있었습니다. 다행히 저희 팀은 마지막 차례에 발표를 하게 되었습니다. 문제 인식과 해결 방법 등에 대한 이야기를 발표하였고, 데모까지 무사히 마쳤습니다. 그리고 심사 위원 분들의 질문에도 저희 팀 주제와 동일한 아이템으로 서비스를 개발하고 계신 팀원 분께서 심사 위원께서도 만족하실 만한 답변을 하여 수상 권을 기대하고 있었습니다.
3위, 2위, 1위 순으로 발표를 하는데 2위 발표 때 저희 팀의 이름이 불려서 상당히 기뻤습니다! ^______^
발표가 끝난 후에는 네트워킹 파티가 있었는데, 다양한 분들과 이야기 나누면서 즐겁게 마무리를 지었습니다.
느낀점
- 이더리움 Dapp 개발 과정 수업을 들으면서 이해했다고 생각 했던 내용들이 막상 프로젝트를 진행하려다 보니 막히는 부분들이 많았습니다. 그래서 아~~~ 역시 머리로 이해하는 거라 실제로 해보는 거라는 다르구나 라는 생각이 가장 많이 들었습니다.
- 그리고 수업에서도 팀을 이뤄서 프로젝트를 진행하는게 있었는데, 그 프로젝트는 2주 가량의 시간이 지난 상태였는데도 이번 해커톤에서 만든 수준보다 못 한 진행률을 보이고 있었습니다. 그래서... 띄엄 띄엄 모여서 프로젝트를 진행하는 것 보다는 하루 이틀이라도 빡쎄게 모여서 연속되게 하는 게 중요하구나 라는 것을 느꼈습니다.
- 마지막으로 프로젝트의 큰 그림을 그리는 것은 좋은데 처음부터 모든 것을 다 만들려다 보면 설계만 하다가 시간이 지나버리거나, 시도조차 못하고 끝나 버리는 게 많은 것 같습니다. 그래서 정말 별거 아닌 기능이지만 작은 기능들 부터 완성 시켜서 동작할 수 있는 최소한의 것을 만들어 놓고 나서 살을 붙이는 방식이 더 현명한 방식이 아닐까를 많이 느낄 수 있었던 시간이었습니다.
기회가 되신다면 해커톤 행사는 꼭 한번 참여해 보시는 것을 추천 드립니다! ^^
강의 자료 및 프로젝트 산출물
강의 슬라이드
Temabnb 발표자료
Temabnb Github
관련 기사 - 블루포인트파트너스, '블록파티 2기' 성황
관련 기사 - 블루포인트파트너스, ‘블록파티 제2기’ 성료
안녕하세요 modolee 님~~ 개발 영역은 제가 잘 모르는 영역이지만... 포스팅 잘 보고 갑니다 ^^
책과 강아지를 주로 포스팅하는 스티미언 @heeingu 에요 :)
요즘 스티밋에 푹 빠져 살고 있답니다~ ㅎ
팔로우&보팅하구 갈게요! 자주 소통해요 😊
안녕하세요. @heeingu님 팔로우&보팅 감사합니다. 귀여운 댕댕이 글 많이 올려주세요! 저도 팔로우 했습니다.^^
생생한 글 잘 읽고 갑니다. 꾸벅.
감사합니다. 꾸벅! (--)(__)
Congratulations @modolee! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of posts published
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - Home stretch to the finals. Do not miss them!
Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes
Congratulations @modolee! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of comments
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP