entity는 데이터 모델
subgraph.yaml 파일에 subgraph 관련 정보를 작성함
mapping.ts 파일에서 핸들러를 정의하는데 핸들러는 이벤트가 발생하면 호출된다. 이벤트 정보를 가지고 entity에 어떤 정보를 저장하거나 갱신한다.
thegraph에 로그인해서 subgraph를 생성한다.
yarn global add @graphprotocol/graph-cli
로 graph-cli 설치
graph init --from-example graphprotocol/example-subgraph
로 초기화
graph auth --studio {deploy key}
로 CLI에서 인증cd example-subgraph
로 프로젝트 진입graph codegen && graph build
로 subgraph 빌드graph deploy --studio gravatar
로 subgraph 배포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