이 튜토리얼에서는 더 그래프(The Graph)를 활용해 NEOX에서 데이터를 쿼리하는 방법을 살펴보겠습니다. 더 그래프는 블록체인 데이터를 효율적으로 인덱싱하고 쿼리할 수 있는 탈중앙화 프로토콜입니다. NEOX와 통합된 더 그래프를 사용하면 복잡한 블록체인 데이터를 쉽게 가져와 분석할 수 있습니다.
이 튜토리얼에서는 파이썬(Python)을 사용하여 더 그래프와 상호작용하는 방법을 단계별로 안내합니다. NEOX 플랫폼에서 데이터를 가져오는 간단한 예제를 통해 더 그래프의 쿼리 기능을 이해하고 활용하는 방법을 배워보겠습니다.

더 그래프(The Graph)는 블록체인 데이터를 인덱싱하고 쿼리할 수 있는 탈중앙화된 프로토콜입니다. 이를 통해 개발자는 블록체인에서 필요한 데이터를 빠르고 효율적으로 추출할 수 있습니다. 더 그래프는 "블록체인의 구글"로 비유되며, 이더리움(Ethereum), NEOX와 같은 다양한 블록체인 네트워크에서 데이터를 검색하는 데 사용됩니다.
더 그래프를 활용하면 다음과 같은 작업을 수행할 수 있습니다:
더 그래프와 상호작용하기 위해 몇 가지 준비물이 필요합니다:
pip install requests
https://thegraph.com/explorer/subgraphs/DVjqbErAXc9WDFMaZ6nwrH3GUqtH4vfRdPFar2uGtu12!
더 그래프는 쿼리를 테스트할 수 있는 Playground라는 인터페이스를 제공합니다. NEOX 더 그래프 놀이터에 접속하려면 다음 단계를 따르세요:
Playground에서는 데이터를 쿼리하기 위한 GraphQL 쿼리를 작성하고 결과를 즉시 확인할 수 있습니다. 예를 들어, NEOX 플랫폼에서 최근 트랜잭션 데이터를 가져오는 쿼리를 작성해 볼 수 있습니다.

이제 파이썬을 사용해 더 그래프에서 데이터를 쿼리하는 코드를 작성해 보겠습니다. 아래는 NEOX 더 그래프에서 데이터를 가져오는 간단한 예제입니다.
import requests
import json
NEOX에서 최근 트랜잭션 데이터를 가져오는 GraphQL 쿼리를 정의합니다.
query = """
{
transactions(first: 5) {
id
sender
receiver
amount
timestamp
}
}
"""
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 문서를 참고하면 더 심화된 활용 방법을 익힐 수 있습니다.