개요
Transaction History 엔드포인트는 어떤 Solana 주소에 대한 사람이 읽을 수 있는 거래 내역을 반환합니다. 원시 명령어 데이터 및 계정 목록을 다루는 대신 다음과 같은 구조화된 정보를 제공합니다:- 거래에서 발생한 내용(전송, 스왑, NFT 활동).
- 관련된 계정.
- 전송된 SOL 또는 토큰의 양.
- 관련 메타데이터(토큰 민트 주소, 토큰 이름, 토큰 심볼 등).
GET 요청을 /v0/addresses/{address}/transactions로 보내십시오. 이 엔드포인트는 getTransactionsForAddress RPC 메소드에 의해 지원됩니다.
사용할 때
- 사용자에게 주소의 거래 내역을 표시할 때(지갑, 포트폴리오 트래커, 탐색기).
- 자체 디코더를 작성하지 않고 사전 파싱된 사람이 읽을 수 있는 내역이 필요할 때.
- 거래 유형, 시간 범위 또는 슬롯 범위로 내역을 필터링해야 할 때.
- 관련 토큰 계정(ATA)을 포함하여 지갑의 전체 토큰 내역이 필요할 때 — 아래를 참조하십시오.
getTransactionsForAddress가 Helius 네이티브 경로입니다.
빠른 시작
1
API 키 받기
dashboard.helius.dev에 가입하고 API 키를 복사하세요.
2
주소 거래 엔드포인트 가져오기
어떤 Solana 주소의 거래 내역을 검색하세요.
- JavaScript
- Python
3
필터링 및 페이지 매김
아래의
type, 시간 및 슬롯 필터로 결과를 좁히고 서명 커서를 통해 높은 볼륨의 주소를 페이지 매김하세요.네트워크 지원
요청 파라미터
시간 기반 필터링
슬롯 기반 필터링
필터링 노트:
- 시간 매개변수는 Unix 타임스탬프(초 단위), 슬롯 매개변수는 Solana 슬롯 번호를 사용합니다.
- 동일한 요청에서 시간 기반 및 슬롯 기반 필터를 결합할 수 없습니다.
sort-order=asc는 오름차순(가장 오래된 첫 번째),sort-order=desc는 내림차순(가장 최근 첫 번째)을 사용하십시오.- 대략적인 기간을 알고 있을 때 시간 또는 슬롯 필터를 사용하여 검색 범위를 줄이고,
limit와 함께 사용하여 페이지 크기를 제어하세요.
관련 토큰 계정
Solana에서 지갑은 직접적으로 토큰을 보유하지 않습니다. 대신 지갑은 토큰 계정을 소유하며, 해당 토큰 계정이 토큰을 보유합니다. 누군가가 USDC를 보내면, 이는 메인 지갑 주소가 아닌 USDC 토큰 계정으로 갑니다. 이 엔드포인트는 관련 토큰 계정(ATA)를 포함한 지갑의 전체 토큰 내역을 쿼리할 수 있기 때문에 독특합니다.getSignaturesForAddress와 같은 기본 RPC 메서드는 ATA를 포함하지 않습니다.
token-accounts 필터는 이 동작을 제어합니다:
none(기본값) — 지갑 주소를 직접 참조하는 거래만 반환합니다. 직접적인 지갑 상호작용만 관심이 있을 때 사용하세요.balanceChanged(권장) — 지갑 주소를 참조하거나 지갑이 소유한 토큰 계정의 잔액을 수정하는 거래를 반환합니다. 스팸 및 수수료 수집 또는 위임과 같은 관련 없는 작업을 제거하여 의미 있는 지갑 활동의 깨끗한 보기를 제공합니다.all— 지갑 주소나 지갑이 소유한 모든 토큰 계정을 참조하는 모든 거래를 반환합니다.
필터
거래 유형별 필터링
NFT 판매, 토큰 전송 또는 스왑 등의 특정 거래 유형만 가져옵니다:- NFT Sales
- Token Transfers
- Swaps
런타임 유형 필터링
유형 필터링은 런타임에 발생합니다: API는 최소 50개의 일치 항목을 찾을 때까지 거래를 순차적으로 검색합니다. 검색 창 내에서 일치 항목을 찾지 못하면 검색을 계속할 수 있도록 서명과 함께 오류를 반환합니다. 이는 정상적인 동작이며 실패가 아닙니다.
before-signature는 내림차순, after-signature는 오름차순)를 사용하세요.
유형 필터에 대한 계속 루프 (전체 예제)
유형 필터에 대한 계속 루프 (전체 예제)
- 유형 필터를 사용할 때 API는 한 번에 최대 50개의 거래를 검색합니다.
- 일치 항목이 없으면 오류 메시지의 서명을 사용하여 검색을 계속하세요.
- 내림차순으로 검색할 때는(
before-signature기본값, 가장 최근 것이 첫 번째) 사용합니다. - 오름차순으로 검색할 때는(
after-signature, 가장 오래된 것이 첫 번째 — 순차적 검색에 필요) 사용합니다. - 무한 루프를 방지하기 위해 최대 재시도 제한을 구현하세요.
예시
다음 시나리오는 시간 및 슬롯 범위, 정렬 순서, ATA 및 결합 필터를 다룹니다.시간 범위별 필터
시간 범위별 필터
특정 시간 창 내의 거래 가져오기:
- 지난 24시간
- 특정 날짜 범위
슬롯 범위별 필터
슬롯 범위별 필터
특정 슬롯 범위 내의 거래 가져오기:
정렬 순서 변경
정렬 순서 변경
오름차순으로 거래 가져오기(가장 오래된 것부터):
관련 토큰 계정에 대한 전송 포함
관련 토큰 계정에 대한 전송 포함
연관된 토큰 주소(ATA)를 포함한 지갑의 전체 기록을 쿼리합니다:
여러 필터 결합
여러 필터 결합
거래 유형 필터링을 시간 범위 및 사용자 지정 정렬 순서와 결합하십시오:
페이지 매김
고용량 주소의 경우 각 배치에서 마지막 서명을 커서로 사용하여 결과를 페이지 매김하십시오:before-signature 커서를 진행하십시오:
다음 단계
getTransactionsForAddress
현대적이고 Helius 네이티브 거래 내역 및 백필의 대안입니다.
Wallet API
잔액, 내역 및 전송에 대한 사람이 읽을 수 있는 지갑 데이터에 대한 REST 엔드포인트입니다.
Parse Transactions
하나 이상의 거래 서명을 사람이 읽을 수 있는 데이터로 파싱합니다.
Getting Data overview
Solana 데이터를 쿼리하기 위한 모든 Helius 옵션을 비교합니다.