[NeoX 튜토리얼] 파이썬을 사용해 더 그래프(The Graph)와 상호작용하기

네오 블록체인·2025년 4월 10일

NeoX

목록 보기
3/12
post-thumbnail

이 튜토리얼에서는 더 그래프(The Graph)를 활용해 NEOX에서 데이터를 쿼리하는 방법을 살펴보겠습니다. 더 그래프는 블록체인 데이터를 효율적으로 인덱싱하고 쿼리할 수 있는 탈중앙화 프로토콜입니다. NEOX와 통합된 더 그래프를 사용하면 복잡한 블록체인 데이터를 쉽게 가져와 분석할 수 있습니다.

이 튜토리얼에서는 파이썬(Python)을 사용하여 더 그래프와 상호작용하는 방법을 단계별로 안내합니다. NEOX 플랫폼에서 데이터를 가져오는 간단한 예제를 통해 더 그래프의 쿼리 기능을 이해하고 활용하는 방법을 배워보겠습니다.

더 그래프란 무엇인가?

더 그래프(The Graph)는 블록체인 데이터를 인덱싱하고 쿼리할 수 있는 탈중앙화된 프로토콜입니다. 이를 통해 개발자는 블록체인에서 필요한 데이터를 빠르고 효율적으로 추출할 수 있습니다. 더 그래프는 "블록체인의 구글"로 비유되며, 이더리움(Ethereum), NEOX와 같은 다양한 블록체인 네트워크에서 데이터를 검색하는 데 사용됩니다.

더 그래프를 활용하면 다음과 같은 작업을 수행할 수 있습니다:

  • 스마트 계약(Smart Contract) 데이터를 쿼리
  • 탈중앙화 애플리케이션(DApp)에서 실시간 데이터 활용
  • 블록체인 네트워크에서 발생하는 이벤트를 추적
  • NEOX에서는 더 그래프를 통해 플랫폼 내 데이터를 쉽게 접근하고 분석할 수 있습니다.

시작하기 전에

더 그래프와 상호작용하기 위해 몇 가지 준비물이 필요합니다:

  1. 파이썬 설치: 파이썬 3.x 버전이 설치되어 있어야 합니다.
  2. 필요한 라이브러리: requests 라이브러리를 설치하세요. 아래 명령어를 사용하면 됩니다:
pip install requests
  1. 더 그래프 API 엔드포인트: NEOX에서 제공하는 더 그래프 API 엔드포인트를 알아야 합니다. 이 튜토리얼에서는 예시 엔드포인트를 사용합니다.
  2. 기본적인 파이썬 지식: 파이썬의 기본적인 구문을 이해하고 있어야 합니다.

Playground로 이동하기

https://thegraph.com/explorer/subgraphs/DVjqbErAXc9WDFMaZ6nwrH3GUqtH4vfRdPFar2uGtu12!
더 그래프는 쿼리를 테스트할 수 있는 Playground라는 인터페이스를 제공합니다. NEOX 더 그래프 놀이터에 접속하려면 다음 단계를 따르세요:

  1. NEOX 더 그래프 서브그래프(Subgraph) 페이지로 이동합니다.
  2. Playground 탭을 열어 GraphQL 쿼리를 작성하고 테스트할 수 있습니다.

Playground에서는 데이터를 쿼리하기 위한 GraphQL 쿼리를 작성하고 결과를 즉시 확인할 수 있습니다. 예를 들어, NEOX 플랫폼에서 최근 트랜잭션 데이터를 가져오는 쿼리를 작성해 볼 수 있습니다.

코드 작성하기

이제 파이썬을 사용해 더 그래프에서 데이터를 쿼리하는 코드를 작성해 보겠습니다. 아래는 NEOX 더 그래프에서 데이터를 가져오는 간단한 예제입니다.

1단계: 필요한 라이브러리 가져오기

import requests
import json

2단계: GraphQL 쿼리 정의

NEOX에서 최근 트랜잭션 데이터를 가져오는 GraphQL 쿼리를 정의합니다.

query = """
{
  transactions(first: 5) {
    id
    sender
    receiver
    amount
    timestamp
  }
}
"""

3단계: API 엔드포인트 설정 및 요청 보내기

NEOX 더 그래프 API 엔드포인트를 설정하고 쿼리를 전송합니다.

# 더 그래프 API 엔드포인트 (예시 URL)
url = "https://api.thegraph.com/subgraphs/name/neox/example"

# 요청 보내기
response = requests.post(url, json={'query': query})

# 응답 확인
if response.status_code == 200:
    data = response.json()
    print(json.dumps(data, indent=2))
else:
    print(f"쿼리 실패: {response.status_code}")

결과 예시

위 코드를 실행하면 다음과 유사한 결과를 얻을 수 있습니다:

{
  "data": {
    "transactions": [
      {
        "id": "0x123...",
        "sender": "0xabc...",
        "receiver": "0xdef...",
        "amount": "100",
        "timestamp": "1698771234"
      },
      ...
    ]
  }
}

더 많은 쿼리 실행하기

이제 기본적인 쿼리를 작성하고 실행하는 방법을 알았으니, 더 복잡한 쿼리를 시도해 볼 수 있습니다. 예를 들어, 특정 사용자와 관련된 트랜잭션만 필터링하거나 특정 시간 범위 내의 데이터를 가져오는 쿼리를 작성할 수 있습니다.

특정 사용자 트랜잭션 쿼리 예시

query = """
{
  transactions(where: {sender: "0xabc..."}, first: 5) {
    id
    receiver
    amount
    timestamp
  }
}

이 쿼리를 실행하면 sender가 0xabc...인 트랜잭션 데이터를 가져옵니다.

결론

이 튜토리얼에서는 파이썬을 사용해 NEOX에서 더 그래프(The Graph)를 활용하는 방법을 배웠습니다. 더 그래프를 통해 블록체인 데이터를 쉽게 쿼리하고 분석할 수 있으며, 이를 활용하면 NEOX 생태계에서 다양한 데이터 기반 애플리케이션을 개발할 수 있습니다.

더 많은 GraphQL 쿼리 예제를 확인하고 싶다면 NEOX 더 그래프 Playground에서 직접 테스트해 보세요. 또한, 더 그래프 공식 문서와 NEOX 문서를 참고하면 더 심화된 활용 방법을 익힐 수 있습니다.

https://youtu.be/wmgLz0Hflx8

profile
스마트 이코노미를 위한 퍼블릭 블록체인, 네오에 대한 모든것

0개의 댓글