상세 컨텐츠

본문 제목

Cosmos SDK Modules 전체 개요 (1)

Blockchain/Cosmos

by Yongari 2023. 3. 29. 22:13

본문

 

Cosmos SDK Modules

 

● Auth: 계정 및 거래 인증
● Authz: 계정에서 작업을 수행하기 위한 권한 부여
● Bank: 토큰 전송 기능
● Crisis: 특정 상황에서 블록체인을 중단하는 기능
● Distribution: 수수료 분배 및 스테이킹 토큰 분배
● Feegrant: 트랜잭션 실행을 위한 수수료 허용량 부여
● Staking: 퍼블릭 블록체인을 위한 지분 증명 레이어
● Gov: 온체인 제안 및 투표
● Mint: 스테이킹 토큰의 새로운 단위 생성

● Slashing: 벨리데이터 처벌 메커니즘

● Upgrade:  소프트웨어 업그레이드 처리 및 조정

● Params: 전역적으로 사용 가능한 매개변수 저장소

● Epoching: 모듈이 특정 블록 높이에서 실행을 위해 메시지를 대기열에 넣을 수 있도록 함

 

 

Module Structure

├── client

├── keeper

├── simulation

├── spec

├── types

├── abci.go

├── handler.go

├── module.go

 

 

Protocol Buffers: 코스모스 SDK는 프로토콜 버퍼를 광범위하게 사용합니다. 프로토 디렉터리에는 각 모듈에 대한 파일과 함께 프로토 메시지가 있습니다.

CLI (Command Line Interface):클라이언트 패키지에는 모듈의 CLI 구현이 있고 모듈의 통합 테스트 스위트가 상주합니다.

 

Keeper: keeper 키퍼 패키지는 모듈별 블록체인 애플리케이션 상태에 대한 액세스를 관리하며, 모듈별 저장소의 게이트키퍼 역할을 합니다. 메시지 서비스 구현이 상주하는 곳이기도 합니다.

간단히 말해, 키퍼는 상태를 업데이트합니다.

 

Store Key(s)
모듈이 관리하는 멀티스토어의 스토어에 대한 접근 권한을 부여합니다. 항상 외부 모듈에 노출되지 않은 상태로 유지되어야 합니다.

Codec
 []바이트 단위로 구조체를 마샬링 및 언마샬링하는 데 사용됩니다.

 

Spec: the module’s specification documents outlining important concepts, state storage structure, abci interface logics (begin block and end block), available messages for the module, hooks if available, event type definitions, global parameters, and etc.

 

Types: 메시지, 이벤트, 에러, 다른 모듈의 키퍼 함수, 제네시스 상태, 프로토 디렉터리의 프로토 메시지에서 프로토 컴파일러에 의해 생성된 타입 정의에 대한 모듈의 타입 정의입니다.

 

ABCI: 모듈의 BeginBlocker 및 EndBlocker 구현(선택 사항) ○ 블록의 시작과 끝에서 트리거됩니다.

 

 

 

개발 프로세스

 

  • 키퍼에서 KVStore 구현하기
  • 메시지 서비스 구현(트랜잭션 메시지)
  • 쿼리 서비스 구현(gRPC 쿼리)
  • 명령줄 인터페이스 구현
  • BeginBlocker 및 EndBlocker 구현(선택 사항)
  • InitGenesis / ExportGenesis 구현
  • app.go에서 모듈 연결
  • 단위 테스트/통합 테스트/시뮬레이션 테스트 작성하기
  • API 및 CLI 사용에 대한 문서 작성

 

 

 

 

다른 코스모스 프로젝트들 분석


● Cosmos Hub “Gaia”
https://github.com/cosmos/gaia

● Crescent
https://github.com/crescent-network/crescent

● Osmosis
https://github.com/osmosis-labs/osmosis

● Kava
https://github.com/kava-labs/kava

 

 

 

 

관련글 더보기