Skip to content

Instantly share code, notes, and snippets.

@dahlia
Last active August 21, 2019 21:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dahlia/3b0555c25973b45c6a559570e1f20c03 to your computer and use it in GitHub Desktop.
Save dahlia/3b0555c25973b45c6a559570e1f20c03 to your computer and use it in GitHub Desktop.
Libplanet 파이콘 한국 2019 스프린트 안내

Libplanet 파이콘 한국 2019 스프린트 안내

안녕하세요. 오는 파이콘 한국 2019에서 Libplanet 프로젝트의 스프린트를 진행하게 된 홍민희입니다. 스프린트 진행에 앞서 미리 안내드릴 내용들이 있으니 읽어주시기 바랍니다. 스프린트는 서울 코엑스 그랜드볼룸 컨퍼런스룸 201호에서 8월 15일(광복절) 및 16일(금) 이틀 진행하며, 이틀 모두 나오셔도 되고 하루만 나오셔도 됩니다.

프로젝트 소개

Libplanet은 BitTorrent처럼 서버 없이 돌아가는 P2P 멀티플레이 게임을 만들기 위한 네트워킹・스토리지 라이브러리로, 이를 달성하기 위해 블록체인 기술을 구현합니다. 이용자 각각이 실행하는 게임 앱들이 네트워크에서 서로 연결되며, 게임의 공정한 판정과 기록을 위해 운영되는 서버가 없는 대신, 공정한 판정은 합의 알고리즘을 통해, 기록은 리플리케이션을 통해 이뤄집니다.

이번 스프린트에서 다룰 저장소로는 아래 세 곳이 있습니다. 각자 익숙하거나 선호하는 환경에 따라 다른 저장소에 기여해 주시면 될 것 같습니다. 참고로 세 저장소 모두 Linux, macOS, Windows 세 플랫폼에서 개발 가능합니다.

  • Libplanet: 네트워킹 및 스토리지, 블록체인 등을 구현하는 프로젝트의 핵심으로, Unity 등의 게임 엔진과 함께 쓰일 수 있도록 C#으로 작성되어 있으며 멀티플랫폼입니다.

  • Libplanet Explorer (서버): Libplanet을 이용해 만든 게임이 분산 네트워크 위에서 쌓아 올린 블록체인 데이터를 게임 외부에서도 열람할 수 있도록 GraphQL 프로토콜로 노출하는 C# 앱입니다.

  • Libplanet Explorer (웹): 웹 서버가 GraphQL을 통해 제공하는 데이터를 웹 프론트엔드로 구현한 비교적 최종 사용자 지향의 웹 앱(클라이언트)입니다. TypeScript, React, Gatsby, Apollo를 이용해 작성되어 있습니다.

개발 환경

먼저, 스프린트에 참여하기 위해서는 개발 환경을 설치해야 합니다. 가급적이면 스프린트 시작 전에 미리 개발 환경을 설치해 와주시면 감사하겠습니다. 어느 프로젝트나 그렇겠지만, 개발 환경 설치에 시간이 생각보다 많이 들기 때문에, 반나절 가까이 허비하는 경우가 흔합니다.

Libplanet Explorer (웹) 프로젝트의 경우, 최근 널리 쓰이는 TypeScript + React + Gatsby 앱입니다. 미리 저장소를 클론하시고 Node.js를 설치하신 뒤, npm install로 필요한 패키지를 모두 설치해 오시면 됩니다.

나머지 두 프로젝트는 모두 C#을 쓰므로 .NET Core 2.0 이상을 설치해 오셔야 합니다. C#은 Python이나 JavaScript 등과 달리 IDE가 없으면 코딩하기 힘든 언어입니다. Windows라면 최신 버전의 Visual Studio를 설치하면 되겠지만, 여러 플랫폼에서 두루 쓸 수 있는 IDE로 Rider나 VS Code를 추천합니다. 아래 문서들은 Rider 또는 Visual Studio Code를 쓴다는 가정 하에 Libplanet의 개발 환경을 설치하는 방법을 한국어로 안내하고 있습니다.

그 외에, Libplanet 저장소의 CONTRIBUTING.md 문서는 CLI 도구만을 이용해서 개발하는 아주 기본적인 개발 환경 설정을 안내합니다. 꼭 자신이 이용하는 에디터를 쓰고 싶은 분들은 이쪽을 읽어주시면 되겠습니다. 단, 그런 경우 Libplanet 커미터들이 당일 행사장에서 도움을 드리기 힘들 수 있기 때문에, 꼭 미리 개발 환경을 잘 설치해서 오시는 게 좋습니다.

상황판

이번 스프린트에서 모두들 무엇을 하고 있는지 한눈에 보기 위해 GitHub 프로젝트 보드를 만들었습니다. 미리 To do에 어떤 이슈들이 있는지 확인하시는 것도 좋을 것 같습니다.

아니면 아예 good first issue 전체 목록을 보셔도 좋습니다.

질문 및 대화방

궁금한 게 있으시면 저희 Discord 서버에 있는 #libplanet-users-kr 채널에 오셔서 물어보셔도 됩니다. 행사 전에 미리 들어오셔서 물어보셔도 좋고, 행사 끝난 뒤라도 좋습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment