Solana RPC HTTP 메소드
Solana 노드는 JSON-RPC 2.0 명세를 사용하여 HTTP 요청을 수락합니다.
JavaScript 애플리케이션의 경우, Solana 노드와 상호작용하기 위한 RPC 메소드의 편리한 인터페이스로 @solana/web3.js 라이브러리를 사용하세요. Solana 노드에 PubSub 연결을 위해서는 Websocket API를 사용하세요.
RPC HTTP 엔드포인트
기본 포트: 8899
요청 형식
JSON-RPC 요청을 하려면 Content-Type: application/json
헤더와 함께 HTTP POST
요청을 보내세요. JSON 요청 데이터는 4개의 필드를 포함해야 합니다:
jsonrpc: <string>
-"2.0"
로 설정id: <string | number | null>
- 클라이언트에서 생성된 요청의 고유 식별자. 일반적으로 문자열이나 숫자이며, null도 기술적으로 허용되지만 권장하지 않음method: <string>
- 호출할 메소드가 포함된 문자열params: <array>
- 순서가 지정된 매개변수 값의 JSON 배열
curl을 사용한 예시:
curl https://api.devnet.solana.com -s -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0","id": 1,"method": "getBalance","params": ["83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"]}'
응답 출력은 다음 필드를 포함하는 JSON 객체입니다:
jsonrpc: <string>
- 요청 명세와 일치id: <number>
- 요청 식별자와 일치result: <array|number|object|string>
- 요청된 데이터 또는 성공 확인
단일 POST의 데이터로 JSON-RPC 요청 객체 배열을 전송하여 요청을 일괄적으로 보낼 수 있습니다.
요청 예시
commitment 매개변수는 params
배열의 마지막 요소로 포함되어야 합니다:
curl https://api.devnet.solana.com -s -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0","id": 1,"method": "getBalance","params": ["83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri",{"commitment": "finalized"}]}'
정의
- Hash: 데이터 청크의 SHA-256 해시.
- Pubkey: Ed25519 키 쌍의 공개 키.
- Transaction: 클라이언트 keypair가 서명한 Solana 명령 목록으로, 해당 작업을 승인합니다.
- Signature: 명령을 포함한 트랜잭션의 페이로드 데이터에 대한 Ed25519 서명. 이는 트랜잭션을 식별하는 데 사용될 수 있습니다.
상태 확인
JSON RPC API는 아니지만, RPC HTTP 엔드포인트에서의 GET /health
는 로드 밸런서나
다른 네트워크 인프라가 사용할 수 있는 상태 확인 메커니즘을 제공합니다. 이 요청은
항상 HTTP 200 OK 응답을 반환하며, 본문은 "ok", "behind" 또는 "unknown" 중
하나입니다:
ok
: 노드가 최신 클러스터 확인 slot으로부터HEALTH_CHECK_SLOT_DISTANCE
slot 이내에 있음behind { distance }
: 노드가 최신 클러스터 확인 slot으로부터distance
slot 이상 뒤쳐져 있음(여기서distance > HEALTH_CHECK_SLOT_DISTANCE
)unknown
: 노드가 클러스터와의 관계에서 자신의 위치를 확인할 수 없음
Is this page helpful?