Quantcast
Channel: Recent Questions - Solana Stack Exchange
Viewing all articles
Browse latest Browse all 7969

How can I access the 'Retry-After' HTTP response header while using @solana/web3.js to make RPC requests?

$
0
0

I've been trying to use the @solana/web3.js library to send RPC requests for transaction data but I'm getting hit with the following error:

Error: 429 Too Many Requests: {"jsonrpc":"2.0","error":{"code": 429, "message":"Too many requests for a specific RPC call, contact your app developer or support@rpcpool.com."}

I've realized that the solution lies in the Retry-After HTTP response header. I have to obtain this header to know how long I need to wait for the rest of the requests to execute properly without error. My only problem is that I don't know how to access this response header in @solana/web3.js.

Here are the requests:

function delay(ms) {    return new Promise(resolve => setTimeout(resolve, ms));  }async function rpcRequests() {  try {    const Signatures = await connection.getSignaturesForAddress(address, options);    Signatures.forEach(signature => {        if (signature && signature.signature && signature.err === null) {            SignaturesArray.push(signature.signature);        }    });    await delay(1000);    const Transactions = await connection.getParsedTransactions(SignaturesArray, GetVersionedTransactionConfig);    Transactions.forEach(transaction => {        if (transaction && transaction.transaction && transaction.transaction.message && transaction.transaction.message.instructions) {            const instructions = transaction.transaction.message.instructions;            instructions.forEach(instruction => {                console.log(instruction);                }            })        }    })  } catch (error) {    console.error('Error: '+ error);  }}rpcRequests();

(I'm only showing a portion of the code, there are 6 more requests that need to be sent)


Viewing all articles
Browse latest Browse all 7969

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>