보안 · 네트워크

/

블록체인

블록체인 노드 블록 스캐너 만들기

블록체인 개발을 하는데에 있어서, 블록에 대한 데이터를 저장하는 스캐너를 개발하는 과정을 담았습니다.

28명 이 수강하고 있어요.

Thumbnail

초급자를 위해 준비한
[블록체인, 데이터베이스] 강의입니다.

이런 걸
배워요!

  • 블록체인

  • Golang

  • Scanner

블록체인 회사에 취업을 하고 싶으시다면, 집중해주세요!

블록체인 회사에서는 블록에 대한 데이터를 기반으로 데이터를 검증을 합니다.

단순히 컨트랙트를 개발하고, 발생하는 이벤트를 수집하는 방식의 개발도 있지만

추가로 블록에 대한 데이터를 기반으로 회계, 감사에도 사용을 합니다.


또한, 이벤트에서 수집하는 데이터에 대한 정합성을 검증하는데에도 블록에 대한 데이터는 필수적으로 사용이 됩니다.


저는 현재 메인넷을 운영중인 회사에서 개발을 하고 있고, 이러한 경험을 기반으로 여러분들에게 블록에 있는 데이터와, 트랜잭션을 어떻게 DB에 저장 할 수 있는지에 대해서 알려드리고자 합니다.

강의에서는 주로 이런 내용을 다룰 예정입니다.

MongoDB Upsert를 통한 Update

수집성 데이터에 대해서 중복된 데이터가 생성이 되거나, 삭제되는 데이터가 발생을 할 수 있기 떄문에 Insert, Delete를 수행하는 쿼리를 위험합니다.


그러기 떄문에, 기본적으로 Upsert를 사용하여 데이터를 관리하게 됩니다.

대용량 처리를 위한 모델링

블록을 주기적으로 조호를 하고, 블록에 대한 데이터를 수집하기 위한 코드를 다루게 됩니다.

Go를 통한 타입 커스텀마이징

이러한 수집성 데이터는 여러 팀에서 사용을 하게 돕니다.

서로간에 협의를 위해서는 특정한 타입을 지정하여, 커스터마이징하는것이 중요합니다.

배치성 데이터를 위한 모듈 구조

모듈에 문제가 발생을 하였을 때, 문제가 발생한 시점부터 처음부터 돌리는 것은 비효율적입니다.


일정 범위를 선정하고, 해당 범위를 기반으로 나눠서 여러개의 인스턴스로 구동을 시키는 것이 효율적입니다.

여러분들은 이러한 것을 구현함으로써, 실제 블록에 있는 데이터를 커스텀하여 저장을 할 수 있게 됩니다.

이 강의는 실무에 적용 가능한 형태에 중점이 되어 있습니다.

  • 개인이나, 팀을 이루어서 작업을 하는 사이드 프로젝트에는 한계가 있습니다.


    실제 회사에 취업을 하게 되었을 떄, 실무에서 사용하는 구조와는 많이 다르기 떄문입니다.
    저는 이러한 부분에 초점을 맞추었습니다.

  • 여러분들은 제 강의를 통해서 실제 실무에서 사용하는 형태로 개발을 진행하실 수 있습니다.


    이를 통해서 면접에서도 구조에 대한 답변을 쉽게 하실 수 있고, 개인적인 프로젝트 하는 경우에도 코드의 질을 향상 시킬 수 있습니다.


구조

유동적인 상황에 대비하기 위해서, 모듈의 구조를 먼저 잡게 됩니다.

이를 통해서 기획의 변경사항이나, 추가적인 작업이 유동적으로 작업 가능합니다.

접근 제어자 관리

정말 실무에서 사용하는 구조를 통해서, 접근제어자를 관리 합니다.

이를 통해서 버그 및 코드 퀄리티를 증대할 수 있습니다.

커스터마이징

원하는 데이터만 저장하기 위해서 Type을 따로 두어서 관리를 하게 됩니다.

주의 사항

제 강의의 목적은 누구나 쉽게 개발에 접할 수 있게 작성이 되어 있습니다.

또한, 모든것을 알려주는 것은 좋은 공부방법이 아니라고 생각을 합니다.


스스로 많은 부분을 고민해 보시고, 저는 대략적인 길을 알려드리고 싶습니다.

강의를 보시면서 궁금하신 부분이 있으시다면, 편하게 질문을 주시면 됩니다.


현업에서도 활동을 하고 있기 떄문에, 저녁시간을 통해서 빠른 시일내에 답변을 드릴 예정입니다.

제 강의가 많은 도움이 되면 좋겠습니다.


감사합니다!

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 블록체인 서비스에 대해서 궁금하신 분

  • 실제 블록체인 회사에서는 어떤 것을 개발하는지 궁금하신 분

  • 블록에 대한 데이터가 궁금하신 분

선수 지식,
필요할까요?

  • Golang [강의 언어일 뿐, 다른 언어를 사용하셔도 무방합니다.]

안녕하세요
July입니다.

자기 소개

비전공자 출신으로 대학교 4학년에 갑자기 개발에 흥미가 생겨 혼자서 삽질을 진행하며 개발을 진행했던 서버 개발자...

Mongo Korea, Oracle등등 다양한 기업에서 세션을 진행한 경험이 있으며 이를 토대로

대용량 데이터와 트래픽을 직접 튜닝한 이력과 경험을 기반으로 강의를 촬영하고 이를 통해 수강생 분들이 좀 더 개발에 재미를 느끼게 하고싶은 지식공유자.

 

경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[前] 판교 대기업 플랫폼 서버 개발자

[] 판교 중견기업 모회사 서버 개발자

- 개인적인 사정 및 회사 사정으로 경력 사항의 상세한 부분은 변경 및 수정되었습니다.

커리큘럼

전체

17개 ∙ (1시간 49분)

강의 게시일: 2024년 02월 06일
마지막 업데이트일: 2024년 02월 06일

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!