example subgraph

x·2021년 10월 19일
0

개요

  • subgraph는 ethereum 블록체인에 기록되는 데이터를 기록해서 편리하게 쿼리할 수 있도록 해준다.
  • 이미 존재하는 subgraph를 배포해 쿼리해보자.

entity는 데이터 모델
subgraph.yaml 파일에 subgraph 관련 정보를 작성함
mapping.ts 파일에서 핸들러를 정의하는데 핸들러는 이벤트가 발생하면 호출된다. 이벤트 정보를 가지고 entity에 어떤 정보를 저장하거나 갱신한다.

프로젝트 시작

thegraph에 로그인해서 subgraph를 생성한다.

yarn global add @graphprotocol/graph-cli 로 graph-cli 설치
graph init --from-example graphprotocol/example-subgraph 로 초기화

  • 프로젝트는 여기있는걸 씀
  • SUBGRAPH SLUG 는 gravatar로 지정
    graph auth --studio {deploy key} 로 CLI에서 인증
    cd example-subgraph 로 프로젝트 진입
    graph codegen && graph build 로 subgraph 빌드
    graph deploy --studio gravatar 로 subgraph 배포

query

thegraph Playground에서 배포된 subgraph에 기록된 값을 쿼리할 수 있다

{
  gravatars(first: 5) {
    id
    owner
    displayName
    imageUrl
  }
}

추가 설명

js로 ethereum 블록체인과 통신하기 위해 abi가 필요함

graph codegen은 abi로 메서드(abis/Gravity.json -> generated/Gravity/Gravity.ts)들과 스키마(schema.graphql -> generated/schema.ts)를 만들어준다

https://thegraph.academy/developers/defining-a-subgraph/
https://www.youtube.com/watch?v=coa0Vw47qNc

0개의 댓글