Quicknodeでは、RPCエンドポイントのエラーログを提供しています。ダッシュボードから直接詳細なエラー情報を確認することで、問題を簡単に特定し、解決することができます。
HTTPエラーコード
ここでは、よく遭遇するHTTPエラーの種類、その意味、そしてそれらを防ぐためにできることについて見ていきましょう。
400不正なリクエスト
HTTPリクエストの種類が間違っている(例:POSTの代わりにGETを使用している)か、無効な文字が含まれている
401アクセス権限なし
これは、トークン認証の不備、IPアドレスがホワイトリストに登録されていない、JWTが無効であるなど、1つまたは複数のセキュリティ要件が満たされていない場合に発生することがあります。
403アクセス禁止
エンドポイントが無効化されています(その理由の一つとして、支払いの延滞が考えられます)
403アクセス拒否 - カスタムトレースが見つかりません
カスタムトレースコードがホワイトリストに登録されていません(承認手続きを進めるには、チケットを送信してください)
404見つかりません
URLが間違っているか、メソッドが間違っています
413コンテンツが大きすぎます
リクエストの本文が大きすぎます
413リクエストエンティティが大きすぎます
eth_getLogs および eth_newFilter は、10,000 ブロックの範囲に制限されています。ログやイベントの取得をリクエストする際、10,000 ブロックの範囲という制限を適用しています。
429リクエストが多すぎます
リクエストの秒間リクエスト数(RPS)が、ご利用のプランで許可されている上限を超えています。429エラーの詳細については、サポートドキュメントをご覧ください。
500サーバー内部エラー
サポートチームがエラーをできるだけ早く確認できるよう、チケットを送信してください
503サービス利用不可
サポートチームがエラーをできるだけ早く確認できるよう、チケットを送信してください
HTTPエラーコードの例
以下のコードスニペットは、エラーコード429 の例です。
{
"jsonrpc": "2.0",
"error": {
"code": 429,
"message": "The requests per second (RPS) of your requests are higher than your plan allows."
},
"id": 1
}
Starknet RPC Error Codes
When working with Starknet, understanding its API error codes is essential for effective troubleshooting and smooth application operation.
1Failed to receive transaction
Sequencer rejected the transaction during validation. Verify transaction format and required fields
10No trace available
Trace data not available for the transaction. Verify the transaction hash is correct and exists on the network
20Contract not found
The specified contract address does not exist on the network
21Invalid message selector
Function selector does not exist in the contract ABI
22Invalid call data
Calldata is malformed or contains invalid parameters. Verify parameter types and encoding
24Block not found
The requested block does not exist. Check block number/hash or wait for sync
26Invalid block hash
Block hash format is invalid. Ensure it's a valid hexadecimal string with correct length
27Invalid transaction index
Transaction index is out of range for this block
28Class hash not found
The specified class hash has not been declared on the network
29Transaction hash not found
No transaction found with the provided hash
31Page size too big
Page size exceeds the maximum allowed limit.
32No blocks
No blocks available in the specified range
33Invalid continuation token
The continuation token is invalid or has expired
34Too many keys in filter
Filter contains more keys than the maximum allowed
40Contract error
An error occurred during contract execution
41Transaction execution error
Transaction failed to execute. Check contract logic and resource limits
51Class already declared
Class already exists on the network. Duplicate declarations are not allowed
52Invalid transaction nonce
Invalid nonce for the account. Use the correct sequential nonce value
53Insufficient max fee
Max fee too low. Increase the fee to cover transaction costs
54Insufficient account balance
Account balance too low. Ensure sufficient funds to cover the transaction fee
55Validation failure
Account validation failed. Check your signature and account contract logic
56Compilation failed
Contract compilation failed. Fix Cairo code syntax and compilation errors
57Contract class size is too large
Contract class too large. Reduce the contract size to fit within network limits
58Non account
Sender is not an account contract. Only account contracts can send transactions
59Duplicate transaction
Transaction already exists in mempool. Avoid submitting duplicate transactions
60Compiled class hash mismatch
The compiled class hash does not match the declared hash
61Unsupported transaction version
Transaction version not supported. Use a compatible transaction version
62Unsupported contract class version
Contract class version not supported. Use a compatible Cairo compiler version
63Unexpected error
Unexpected server error occurred. Submit a ticket if the issue persists
Starknet RPC Error Code Example
The code snippet below is an example of Error Code 20.
{
"error": {
"code": 20,
"message": "Contract not found"
},
"id": 1,
"jsonrpc": "2.0"
}
Quicknode では、問題の診断に役立つよう、RPC エンドポイントのログを提供しています。Quicknode ダッシュボードで以下のページにアクセスすると、ログを直接確認できます:
- サイドバーのエンドポイント
- エンドポイントの選択
- [ログ] タブを開く
ログは、時間範囲、レスポンスの種類、メソッド、ネットワークごとにフィルタリングできます。
どのような情報が記録されるか
エンドポイントへのリクエスト
エンドポイントに対して行われたリクエスト。これには、HTTPステータス、リクエストメソッド、RPCメソッドまたはパス、およびタイムスタンプが含まれます。
エラーの詳細
利用可能な場合、失敗したリクエストには、RPCエラーコード、リクエストおよびレスポンスの本文、関連ドキュメントへのリンクなどのエラー詳細が含まれます。
伐採の制限
ログの可用性は、メソッド、レスポンスの種類、ネットワーク、およびプランによって異なる場合があります。エンドポイントのパフォーマンスを最適に維持するため、ログ記録は「ベストエフォート」方式で動作します。低遅延を維持するため、トラフィックが集中している時間帯には、一部のログが破棄される場合があります。
保存とアクセス
「Build」および「Scale」プランには、標準的なログ保存期間を備えたダッシュボードへのアクセスが含まれます。 「Enterprise」プランでは、保存期間が延長されるほか、ログ取得のためのプログラムによるAPIアクセスが提供されます。
その他のエラーコードが表示される場合は、チケットを送信してその旨をお知らせください。喜んでお手伝いさせていただきます。