如何使用Solana Javascript API (@ Solana /web3.js)获取solana上事务的当前状态?
这是我尝试过的,但似乎只适用于最近的交易。
const { Connection, clusterApiUrl } = require("@solana/web3.js");
(async () => {
const connection = new Connection(clusterApiUrl('mainnet-beta'));
const status = await connection.getSignatureStatus("4fwgX16WDwYj5hZ2t5xEHz6UUnuaTovJpMeoWWEBvuA7z1baf1qX1BW2EGZVR9ChSyJZ8akeLX6EDTadFcEcSTdy");
console.log(status);
})();
发布于 2022-07-02 04:23:21
尝试将searchTransactionHistory: true
添加到SignatureStatusConfig
中
const getConfirmation = async (connection: Connection, tx: string) => {
const result = await connection.getSignatureStatus(tx, {
searchTransactionHistory: true,
});
return result.value?.confirmationStatus;
};
https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
发布于 2022-07-02 13:51:15
您还可以尝试将连接的承诺级别设置为“已完成”
new Connection(clusterApiUrl('mainnet-beta'), 'finalized');
发布于 2022-07-06 03:05:38
您还可以使用confirmTransaction
函数:
const { Connection, clusterApiUrl } = require("@solana/web3.js");
(async () => {
const connection = new Connection(clusterApiUrl('mainnet-beta'));
const result = await connection.confirmTransaction({
signature: "4fwgX16WDwYj5hZ2t5xEHz6UUnuaTovJpMeoWWEBvuA7z1baf1qX1BW2EGZVR9ChSyJZ8akeLX6EDTadFcEcSTdy"
},
'finalized');
console.log(result);
})();
https://stackoverflow.com/questions/72832192
复制相似问题