플라네타리움 엔지니어링 스낵

Libplanet 팀이 2020 스프린트서울에도 참여합니다!

(한국어English)

오랜만입니다! 스프린트서울에 프로젝트 리더로 참가하게 된 Libplanet 팀입니다.

저희 팀은 꾸준히 행사에 참여하고 있으며, 이번 스프린트에도 참여했습니다! 그동안 스프린트서울은 하루라는 짧은 시간동안 함께 문제를 해결해 나가는 행사였지만, 이번 스프린트서울은 5월 한 달 내내 진행됩니다.

그에 맞춰 저희도 이번엔 조금 더 긴 시간동안 도전적인 문제를 해결해 보고 싶은 분들이 관심이 있어할 만한 이슈들과, 처음 기여하시는 분들이 부담 없이 기여하실 수 있는 이슈 두 가지 모두 준비해 보았습니다.

또한 스프린트에 참가하여 저희 저장소에 기여해 주신 분들에 대해 소정의 상품도 준비하고 있으니, 많은 참여 부탁드립니다!

프로젝트 소개

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

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

특히 이 중에서 *Libplanet Explorer (웹)*은 TypeScript로 되어 있어, 블록체인 기술이나 C#을 잘 모르지만, Libplanet에 대해 관심이 있던 참가자 분들도 기여하실 수 있습니다.

C# 개발 환경

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

그 외에, Libplanet 저장소의 CONTRIBUTING.md 문서는 CLI 도구만을 이용해서 개발하는 아주 기본적인 개발 환경 설정을 안내합니다. 꼭 자신이 이용하는 에디터를 쓰고 싶은 분들은 이쪽을 읽어주시면 되겠습니다.

TypeScript 개발 환경

TypeScript 개발 환경은 C# 개발 환경에 비해 간단합니다. Libplanet Explorer (웹) 저장소의 README.md 문서에 잘 정리되어 있으니, 어렵지 않게 따라하실 수 있을 것입니다.

살펴볼 만한 이슈

처음 기여하시는 분들을 위한 각 프로젝트 별 초심자용 이슈들을 모아놨습니다.

프로젝트 구조를 자세히 파악하지 못한 상태에서도 깊게 들어가지 않고 해볼 수 있을 만한 것들입니다.

뿐만 아니라, 좀 더 도전적인 문제를 찾는 분들을 위한 help wanted 레이블 또한 준비되어 있습니다.

고민되거나 망설여진다면

어떤 기여를 어떻게 해야 할지 고민이 되는 분들은, 저희 프로젝트에 기여하신 분들의 경험담을 읽어보시고 결정하셔도 좋을 것 같습니다.

질문 및 대화방

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

플라네타리움은 게임에 특화된 오픈 소스 P2P 라이브러리 Libplanet과, 그 위에서 중앙 서버 없는 온라인 게임 〈나인 크로니클〉을 만들고 있습니다. 저희와 흥미로운 기술적 도전을 함께 하실 분들을 모시고 있습니다. 지금 인재 영입 페이지를 확인해주세요!