개요
getTransfersByAddress는 지갑 주소에 대한 사람 친화적인 읽기 쉬운 토큰 및 기본 SOL 전송 객체를 반환하는 Helius 전용 RPC 메서드입니다. 표준 Solana RPC의 일부가 아닙니다.
전송 활동에 중점을 두어 전체 거래 페이로드 대신 간결한 전송 기록을 반환합니다. 각 기록은 소유자 및 토큰 계정, 민트, 원시 금액, 소수, UI 금액, 명령어 위치 및 확인 상태로 정규화되어 Solana 토큰 파싱을 다시 구현하지 않고도 균형 이동을 조정할 수 있습니다.
이 메서드는 개발자 계획 이상이 필요하며 요청당 10 크레딧이 소모됩니다.
파싱된 전송 객체
파싱된 계정, 금액, 소수 및 전송 유형과 함께 읽기 쉬운 전송 기록 반환.
조정 준비 완료
SOL, WSOL, Token-2022 수수료, 민트, 소각 및 계정 소유자 변경을 모델링하여 정확한 잔액 조정 가능.
민트, 시간 및 금액 필터
민트 주소, 블록 시간 범위 또는 원시 금액 범위로 전송 기록 제한.
상대방 필터
with 및 direction로 발신자 또는 수신자로 필터링.사용 시점
getTransfersByAddress를 사용해야 할 때:
- 결제 또는 전송 모니터링을 위한 지갑 전송 기록
- 포트폴리오 활동 및 토큰 이동 분석
- 신뢰할 수 있는 대차 대조를 위한 잔액 대조
- 상대방별 전송 보고서(누가 무엇을 보냈는지 또는 받았는지)
- 솔리드 파서 없이 정규화된 SOL/WSOL, Token-2022 수수료, 민트 및 소각 처리
getTransactionsForAddress를 대신 사용합니다. 일반적인 패턴은 여기에서 전송을 페이지별로 확인한 후 getTransaction 호출을 일괄 처리하여 기본 전체 거래를 가져오는 것입니다 (참고: 전송 행에 대한 전체 거래 가져오기).
정확성과 대조
getTransfersByAddress는 회계 장부, 결제 추적, 포트폴리오 활동 및 잔액 대조를 위한 신뢰할 수 있는 전송 기록이 필요한 응용 프로그램을 위해 구축되었습니다. 원시 거래 페이로드를 반환하고 모든 가장자리를 파서에 맡기는 대신, API는 정규화된 전송 객체를 반환합니다.
응답은 Solana 기록을 조정하기 어렵게 만드는 일반적인 전송 사례를 명시적으로 모델링합니다:
- 표준 SPL 토큰과 기본 SOL 전송.
- 평범한
transfer행으로 대표되는 Token-2022 전송을 별도의 수수료 필드로 보유. - 민트 및 소각,
null발신자 또는 수신자로 대표. - 과도한 라이프사이클 행을 피하기 위해 기본 모드로 SOL 래핑 및 언래핑 행동.
- SetAuthority를 통한 토큰 계정 소유자 변경.
- 토큰-2022 보류 수수료 인출.
- 추측의 순운동으로 축소되지 않고 기본 전송 기록으로 반환된 중간 계정 흐름.
빠른 시작
요청 매개변수
지갑 소유자 주소를 전달하고 연결된 토큰 계정(ATA)은 전달하지 마세요. API는 해당 지갑이 소유한 토큰 계정의 전송 활동을 찾습니다.string
필수
쿼리할 전송의 Base58로 인코딩된 소유자 지갑 주소를 전달합니다. 연결된 토큰 계정(ATA)은 전달하지 마세요.
object
필터링, 페이지 매김, 커밋, 정렬 및 SOL/WSOL 동작을 위한 선택적 구성 객체.
string
상대방 주소로 필터링. 이 주소로의 전송만 반환.
string
기본값:"any"
address에 상대적인 전송 방향으로 필터링.in:address로 받은 전송out:address가 보낸 전송any: 들어오고 나가는 전송
string
토큰 민트 주소로 필터링. 기본 SOL을 위해
So11111111111111111111111111111111111111111를 사용하고 WSOL을 위해 So11111111111111111111111111111111111111112를 사용하십시오.string
기본값:"merged"
기본 SOL 및 WSOL이 나타나는 방법을 제어합니다.
merged: WSOL은 기본 SOL로 처리됩니다. 랩 및 언랩 라이프사이클 행은 제외되며 WSOL 민트 값은 기본 SOL 민트에 다시 작성됩니다.separate: WSOL은 별도의 민트로 유지되며, 랩 및 언랩 라이프사이클 행은 포함됩니다.
object
금액, 블록 시간 및 슬롯에 대한 추가 필터.
number
기본값:"100"
반환할 최대 전송 수. 범위: 1에서 100.
string
페이지 매김을 위한 이전 응답에서의 커서.
string
기본값:"finalized"
데이터 커밋 수준.
finalizedconfirmed
number
요청이 평가될 수 있는 최소 슬롯
string
기본값:"desc"
결과 정렬.
desc: 최신 순asc: 오래된 순
응답
응답 필드 세부사항
fromUserAccount및toUserAccount는 항상 존재합니다. 측면이 존재하지 않으면 값은null입니다.fromTokenAccount및toTokenAccount는 해당 행의 토큰-계정이 의미가 있을 때만 포함됩니다. 기본 SOL 전송의 경우 전혀 포함되지 않습니다.- 민트 전송은 한 쪽입니다:
fromUserAccount는null이며, 수신자에 대한 인바운드 전송으로만 반환될 수 있습니다. - 소각 전송은 한 쪽입니다:
toUserAccount는null이며, 소각 소유자에 대한 아웃바운드 전송으로만 반환될 수 있습니다.
필터
수치 범위 쿼리에 대해 비교 필터를 사용하십시오. 모든 비교 필드는 선택 사항이며 결합할 수 있습니다.전송 유형
type 필드는 각 행에서 나타내는 전송 동작을 식별합니다.
전송 유형 및 명령어
SOL 및 wSOL 동작
SOL은 실제 사용자 활동에서 종종 함께 나타나는 두 가지 형태로 Solana에 존재합니다:- 기본 SOL은 체인의 기본 자산입니다. 지갑이나 계정에 람포트로 직접 존재합니다. 하나의 SOL은 1,000,000,000 람포트입니다.
- **래핑된 SOL (WSOL, 종종 wSOL로 작성됨)**은 SPL 토큰으로의 SOL 표현입니다. WSOL 민트
So11111111111111111111111111111111111111112를 사용하며 USDC 또는 다른 SPL 토큰처럼 토큰 계정에 존재합니다.
getTransfersByAddress는 solMode: "merged"를 사용합니다. 이 모드에서는:
- 기본 SOL 및 WSOL은
So11111111111111111111111111111111111111111로 쿼리할 때 하나의 SOL 자산으로 취급됩니다. - WSOL 전송 행은 SOL로 되돌려지도록 정규화되어 SOL로 된 역사를 더 쉽게 조정할 수 있습니다.
- 래핑 및 언래핑 라이프사이클 행은 일반적으로 동일 소유자가 제어하는 계정 간의 이동을 나타내지 않기 때문에 제외됩니다.
- 다른 소유자 간의 SOL 및 WSOL 전송은 여전히 전송으로 나타납니다.
CloseAccount에서 회수된 임대료는 계정 닫기 라이프사이클 행이 반환될 때 기본 SOLunwrap행으로 나타납니다.
solMode: "separate"를 사용하여 WSOL을 별도의 SPL 토큰 민트로 필요로 하거나 래핑 및 언래핑 라이프사이클 기록을 검사하려 할 때 사용하십시오. 이 모드에서는 WSOL이 민트 So11111111111111111111111111111111111111112를 유지하고, 랩/언랩 기록이 type: "wrap" 또는 type: "unwrap"로 반환됩니다.
solMode: "separate"에서의 WSOL 계정 폐쇄의 경우, WSOL 민트에 대한 unwrap 기록은 SOL로 반환된 남은 WSOL 토큰 잔액을 나타냅니다. 닫힌 토큰 계정에서 환급된 임대료는 별도의 기본 SOL unwrap 행으로 반환됩니다.
Token-2022 전송 수수료
Token-2022TransferCheckedWithFee 명령어는 type: "transfer"로 전송 기록 하나로 나타납니다. 대상 금액은 amount에 반환되며, 보류 수수료 세부사항은 feeAmount 및 feeUiAmount에 반환됩니다.
수수료가 있는 전송의 경우, 소스는 amount + feeAmount만큼 차감되며, 대상은 amount만큼 크레딧이 제공됩니다.
예시
USDC로 필터링
발신자로부터의 수신 전송
금액 및 시간 범위
페이지 나누기 요청
전송 행에 대한 전체 거래 가져오기
getTransfersByAddress는 전체 거래 페이로드가 아닌 파싱된 전송 행을 반환합니다. 각 전송에 대한 전체 거래가 필요할 경우 전송을 먼저 페이지별로 확인하고, signature로 중복 제거한 다음 배치된 getTransaction 호출로 전체 거래를 가져오세요.
getTransfersByAddress는 여러 소유자 주소에 대해 배치할 수 없습니다. 한 번에 한 소유자 주소씩 쿼리한 다음 방생된 getTransaction 요청을 서명으로 일괄 처리합니다. 단일 거래가 여러 전송 행을 방출할 수 있으므로 거래를 가져오기 전에 반드시 서명을 중복 제거하십시오.
제한 사항
- 실패한 거래는 V1에 포함되지 않습니다.
- 잔액 변화에서만 추론된 숨겨진 SOL 움직임은 V1에서 지원되지 않습니다.
harvestWithheldTokensToMint는 수집된 금액을 나타내지 않기 때문에 V1에서 지원되지 않습니다.- 중간 계정 흐름은 줄어들지 않습니다. 거래가 중간 계정을 통해 자금을 이동할 경우, 기본 전송 기록이 반환됩니다.
- 여러 소유자 주소에 대해 배치할 수 없습니다. 한 번에 한 소유자를 쿼리하세요.
다음 단계
getTransactionsForAddress
필터링, 정렬 및 토큰-계정 지원이 있는 전체 거래 기록.
API 참조
getTransfersByAddress에 대한 전체 요청 및 응답 스키마.
인덱싱 가이드
전송 데이터를 백필하고 자체 인덱스로 동기화.
역사적인 데이터 개요
모든 Solana 역사적 데이터 방법 비교.