NEAR RPC 엔드포인트 문서 | ERPC

NEAR RPC 엔드포인트 문서

ERPC를 NEAR RPC 엔드포인트로 사용하여 HTTP JSON-RPC 요청을 처리할 수 있습니다. NEAR RPC는 Global Edge Blockchain Infrastructure 내에 있는 ERPC의 RPC APIs 중 하나이며, API key는 ERPC Web Dashboard에서 관리할 수 있습니다.
Solana, Ethereum, Avalanche와 동일한 RPC key를 그대로 사용할 수 있습니다.
API key는 api-key 쿼리 매개변수로 전달하거나 Authorization: Bearer <YOUR_API_KEY>로 보내세요. 둘 다 있으면 쿼리 매개변수가 사용됩니다.

엔드포인트

JSON-RPC 2.0 요청은 다음 주소로 HTTP POST로 전송합니다.
text
https://edge.erpc.global/near?api-key=<YOUR_API_KEY>
또는 다음 전용 호스트로 전송합니다.
text
https://near.erpc.global?api-key=<YOUR_API_KEY>
/ 경로에서만 요청을 받습니다.

예시

다음은 API key를 쿼리 매개변수에 넣은 HTTP 요청 예시입니다.
bash
curl 'https://edge.erpc.global/near?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"block",
  "params":{"finality":"final"}
}'
다음은 API key를 Authorization 헤더에 넣어 같은 요청을 보내는 예시입니다.
bash
curl 'https://edge.erpc.global/near' --header 'Content-Type: application/json' --header 'Authorization: Bearer <YOUR_API_KEY>' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"block",
  "params":{"finality":"final"}
}'
API key는 ERPC Web Dashboard에서 발급받고 확인할 수 있습니다.

배치 요청

HTTP 요청당 1~100개 호출의 JSON-RPC 배치를 지원합니다. 각 호출에는 고유한 id가 필요하며, 배치 내에서 id 값이 중복되면 안 됩니다. 배치 내 각 호출은 개별 호출로 계량됩니다. 요청 본문은 최대 1 MiB까지 보낼 수 있습니다.

사용량 측정

사용량은 token 단위로 계량되며, token 요금은 메서드에 따라 다를 수 있습니다. HTTP 배치 내 각 호출은 개별적으로 계량됩니다.

Free 요금제 제한

Free 요금제에서는 사용자의 계정이 10초당 요청 한 건을 보낼 수 있습니다. 이 제한은 엔드포인트별이 아니라 계정별로 집계되므로, 다른 체인으로 보낸 요청도 집계에 포함될 수 있습니다. 그보다 빨리 보낸 요청에는 HTTP 429로 응답하며, retry-after 헤더가 대기할 시간(초)을 알려 줍니다.
Free 요금제에서는 JSON-RPC 호출을 두 개 이상 담은 요청에 HTTP 429로 응답하며, 그 요청의 호출은 하나도 전송되지 않습니다. 각 호출은 코드 -32041의 JSON-RPC 오류를 받습니다. 대신 이 호출들을 하나씩 보내세요.

지원 메서드

이 엔드포인트는 다음 NEAR JSON-RPC 메서드를 제공합니다. EXPERIMENTAL_ 메서드는 대문자 접두사를 그대로 붙여 보냅니다.
  • 메서드 (17): EXPERIMENTAL_changes_in_block, EXPERIMENTAL_genesis_config, EXPERIMENTAL_protocol_config, EXPERIMENTAL_receipt, EXPERIMENTAL_receipt_to_tx, EXPERIMENTAL_tx_status, EXPERIMENTAL_validators_ordered, block, broadcast_tx_async, broadcast_tx_commit, chunk, gas_price, network_info, send_tx, status, tx, validators
  • query (request_type 값 6개): call_function, view_access_key, view_access_key_list, view_account, view_code, view_state
  • EXPERIMENTAL_changes (changes_type 값 5개): account_changes, all_access_key_changes, contract_code_changes, data_changes, single_access_key_changes
query와 EXPERIMENTAL_changes는 위의 request_type 또는 changes_type 값을 담은 객체를 params로 보내야 합니다.
목록에 없는 메서드에는 HTTP 400으로 응답합니다.

응답 상태 코드

HTTP 상태의미
200업스트림 JSON-RPC 응답. JSON-RPC 오류도 HTTP 200으로 반환됨. 요청의 id와 error.code는 유지되고, error.message는 ERPC upstream error이며, error.data는 반환되지 않음
400지원 메서드 목록에 없는 메서드 또는 경로, 잘못된 JSON-RPC 요청, 빈 배치 또는 100개를 초과하는 배치, 배치 내 중복된 id, 1 MiB를 초과하는 본문
401API key가 없거나 유효하지 않거나, key에 설정된 IP 또는 Origin 제한을 충족하지 않음
405POST 이외의 요청 메서드
426WebSocket Upgrade가 요청됨. 이 엔드포인트는 HTTP만 지원함
429속도 제한됨. 위의 Free 요금제 제한(10초당 요청 한 건 초과, 또는 한 요청에 호출 두 개 이상)도 포함됨. retry-after 헤더가 있으면 표시된 시간(초)만큼 대기
502업스트림 요청을 완료할 수 없음: 업스트림 응답 실패, 8 MiB를 초과하는 응답, 또는 30초 이내 무응답
503서비스를 일시적으로 사용할 수 없음

NEAR RPC method 및 문서

표준 method, 매개변수, 사양의 전체 목록은 공식 문서를 참고하세요.