Blockhash not found

just like this
How to Transfer SPL Tokens on Solana | QuickNode

node_modules@solana\web3.js\src\connection.ts:5921
throw new SendTransactionError(
^
SendTransactionError: failed to send transaction: Transaction simulation failed: Blockhash not found
at Connection.sendEncodedTransaction (D:\Gitee\solana\node_modules@solana\web3.js\src\connection.ts:5921:13)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Connection.sendRawTransaction (D:\Gitee\solana\node_modules@solana\web3.js\src\connection.ts:5880:20)
at async Connection.sendTransaction (D:\Gitee\solana\node_modules@solana\web3.js\src\connection.ts:5868:12)
at async sendAndConfirmTransaction (D:\Gitee\solana\node_modules@solana\web3.js\src\utils\send-and-confirm-transaction.ts:35:21) {
logs:
}


node_modules@solana\web3.js\src\connection.ts:3957
throw new TransactionExpiredBlockheightExceededError(signature);
^
TransactionExpiredBlockheightExceededError: Signature 2oa8SHbhJ5SqkNbcUT9hT3d8BMMfHKruNhPP2Bmf9Pu8z9y5qoLqpFa5FTLAvY9S7mwKReNNBtA8ixUNxMcMhtgX has expired: block height exceeded.
at Connection.confirmTransactionUsingBlockHeightExceedanceStrategy (D:\Gitee\solana\node_modules@solana\web3.js\src\connection.ts:3957:15)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Connection.confirmTransaction (D:\Gitee\solana\node_modules@solana\web3.js\src\connection.ts:3768:14)
at async sendAndConfirmTransaction (D:\Gitee\solana\node_modules@solana\web3.js\src\utils\send-and-confirm-transaction.ts:47:7) {
signature: ‘2oa8SHbhJ5SqkNbcUT9hT3d8BMMfHKruNhPP2Bmf9Pu8z9y5qoLqpFa5FTLAvY9S7mwKReNNBtA8ixUNxMcMhtgX’
}

Hi, I’m sorry I’m going to need the script of what it is you’re trying to run if you’d like better assistance. Just a stack trace isn’t much to go off of.

  1. Blockhash Not Found: The first error, “Transaction simulation failed: Blockhash not found,” typically occurs when the recent blockhash used in your transaction is either too old or invalid. Solana transactions require a recent blockhash to ensure the transaction is processed within a certain timeframe. This serves as a form of nonce and transaction expiration mechanism. If the blockhash is not recent, the network cannot guarantee the transaction’s place in the processing queue, leading to a failure.
  2. Transaction Expired Blockheight Exceeded: The second error, “Signature has expired: block height exceeded,” happens when the transaction takes too long to be confirmed, exceeding the maximum block height allowed since the transaction’s blockhash was generated. Each blockhash has a validity period, measured in block heights, and if the transaction isn’t confirmed within this period, it expires.

This can most likely be caused by not including priority fees on your transactions. Try adding those.