Quicknode는 RPC 엔드포인트에 대한 오류 로그를 제공합니다. 대시보드에서 직접 상세한 오류 정보를 확인하여 문제를 쉽게 파악하고 해결할 수 있습니다.
HTTP 오류 코드
자, 이제 여러분이 접할 수 있는 일반적인 HTTP 오류 코드와 그 의미, 그리고 이를 방지하기 위해 취할 수 있는 조치에 대해 살펴보겠습니다.
400잘못된 요청
잘못된 HTTP 요청 유형(예: POST 대신 GET 사용) 또는 유효하지 않은 문자
401권한 없음
이는 토큰 인증 오류, IP가 허용 목록에 포함되지 않은 경우, JWT가 유효하지 않은 경우 등 하나 이상의 보안 요구 사항이 충족되지 않을 때 발생할 수 있습니다.
403접근 금지
엔드포인트 비활성화됨 (이유 중 하나는 연체된 결제일 수 있습니다)
403접근 금지 - 사용자 정의 추적 정보를 찾을 수 없음
사용자 정의 추적 코드가 허용 목록에 포함되지 않았습니다(승인 절차를 진행하려면 티켓을 제출해 주세요).
404찾을 수 없음
잘못된 URL 또는 잘못된 메서드
413콘텐츠 크기가 너무 큽니다
요청 본문의 크기가 너무 큽니다
413요청 엔티티 크기가 너무 큽니다
eth_getLogs 및 eth_newFilter는 10,000 블록 범위로 제한됩니다. 로그 및 이벤트를 요청할 때 10,000 블록 범위의 제한을 적용합니다.
429요청이 너무 많습니다
요청의 초당 요청 수(RPS)가 요금제에서 허용하는 한도를 초과했습니다. 429 오류에 대한 자세한 내용은 지원 문서를 참조하십시오.
500서버 내부 오류
지원팀이 오류를 최대한 빨리 확인할 수 있도록 티켓을 제출해 주세요
503서비스를 이용할 수 없습니다
지원팀이 오류를 최대한 빨리 확인할 수 있도록 티켓을 제출해 주세요
HTTP 오류 코드 예시
아래 코드 조각은 오류 코드 4 29의 예시입니다.
{
"jsonrpc": "2.0",
"error": {
"code": 429,
"message": "The requests per second (RPS) of your requests are higher than your plan allows."
},
"id": 1
}
Mantle RPC Error Codes
Let's look at the common Mantle RPC Error Codes you can encounter, what they mean and what you can do to prevent them.
-32000헤더를 찾을 수 없음 / 블록을 찾을 수 없음
요청한 블록이 해당 노드에 존재하지 않습니다. 블록 번호가 잘못되었거나, 접속 중인 노드가 아직 동기화되지 않은 상태입니다. 점진적인 타임아웃을 적용하는 재시도 메커니즘을 사용하십시오.
-32000스택 한도에 도달했습니다
대개 스마트 계약 오류/버그 - 스택 한도 1024(1023)에 도달함
-32000메서드 핸들러가 중단되었습니다
블록체인 클라이언트에서 발생한 내부 오류로, 클라이언트 버그일 가능성이 있습니다. 노드를 다시 확인할 수 있도록 티켓을 제출해 주세요.
-32000실행 시간 초과
기본 클라이언트 타임아웃을 재정의하려면 요청에 timeout 매개변수를 추가하세요.
-32000논스 값이 너무 낮음
거래에 지정된 논스 값이 발신자 계정의 다음 유효한 논스보다 작습니다.
-32000필터를 찾을 수 없습니다
필터가 시간 초과되었습니다. 필터를 다시 생성해야 합니다.
-32001리소스를 찾을 수 없음
요청한 리소스가 존재하지 않거나 사용할 수 없습니다.
-32002리소스를 찾을 수 없음
요청하신 리소스를 일시적 또는 영구적으로 이용할 수 없습니다.
-32003거래 거부됨
유효성 검사 실패 또는 리소스 부족으로 인해 트랜잭션을 생성할 수 없습니다.
-32004지원되지 않는 메서드
요청된 메서드는 서버에서 구현되지 않았거나 지원되지 않습니다.
-32005한도 초과
이 요청은 허용된 한도 또는 할당량을 초과했습니다.
-32006지원되지 않는 JSON-RPC 버전
지정된 JSON-RPC 버전은 서버에서 지원되지 않습니다.
-32009추적 요청 제한
노드의 과부하를 방지하기 위해 디버그 및 추적 메서드를 특정 RPS로 제한했습니다.
-32010거래 비용이 가스 한도를 초과했습니다
가스 제한값이 너무 낮게 설정되어 있습니다
-32011네트워크 오류
이 오류는 타임아웃이나 연결 끊김과 같은 클라이언트와 서버 간의 연결에 문제가 있을 때 발생합니다.
-32015VM 실행 오류
스마트 계약 실행 오류
-32600잘못된 요청
JSON 요청의 형식이 잘못되었거나 필수 필드가 누락되었습니다. 예상되는 형식을 따르는지 확인하십시오.
-32601메서드를 찾을 수 없음
대개 메서드 이름에 오타가 있는 경우가 많으니, 철자 오류를 확인해 보세요.
-32601요청을 구문 분석하지 못했습니다
요청 본문이 올바르지 않습니다. 메서드 매개변수를 다시 한 번 확인해 주세요.
-32602잘못된 매개변수 - 0x 접두사가 누락되었습니다
요청이 올바르지 않습니다. 주소에서 0x가 누락되었습니다. 16진수
-32602블록 범위 한도를 초과했습니다
eth_getLogs 및 eth_newFilter는 10,000 블록 범위 내로 제한됩니다. 자세한 내용은 지원 문서를 참조하십시오.
-32603내부 JSON-RPC 오류
이 오류는 대개 페이로드에 문제가 있거나 유효하지 않기 때문에 발생합니다.
-32612사용자 정의 트레이스가 차단되었습니다
맞춤형 추적 기능을 활성화하려면 요청을 제출해 주세요.
-32613사용자 정의 추적은 허용되지 않습니다
허용된 사용자 지정 추적 목록에서 해당 사용자 지정 추적을 찾을 수 없습니다. 이 추적을 허용 목록에 추가하려면 요청을 제출하십시오.
-32700구문 오류
유효하지 않은 JSON이 수신되었습니다. 서버에서 JSON 텍스트를 분석하는 동안 오류가 발생했습니다.
3실행이 되돌려졌습니다
이 트랜잭션은 실행 도중 롤백되었는데, 이는 조건 미충족, 가스 부족 또는 계약 오류 때문인 것으로 보입니다.
Mantle RPC Error Code Example
아래 코드 조각은 오류 코드 -32601의 예시입니다.
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32601,
"message": "the method eth_randomMethod does not exist/is not available"
}
}
위에서 정의한 RPC 오류들은 ETH, BSC, Polygon 등과 같은 체인에서 개발하는 동안 발생할 수 있는 일반적인 오류들을 모아놓은 것입니다. 이러한 체인들은 각각 고유한 오류 정의를 가진 여러 클라이언트에서 실행됩니다. 노드 클라이언트 소스 코드에 언급된 오류들은 여기에서도 확인할 수 있습니다: