我想收集NFT的所有事务。
例如,您可以在这里显示所有事务:
https://explorer.solana.com/address/2Nzt8TYeAfgJDftKzkb7rgYShVvyXTR7cPVvpqaZ2a4V
或者在这里:
https://solscan.io/token/2Nzt8TYeAfgJDftKzkb7rgYShVvyXTR7cPVvpqaZ2a4V#txs
但是有什么方法可以用API来做到这一点呢?
我查过了
solana-py:https://michaelhly.github.io/solana-py/
和solscan:https://public-api.solscan.io/docs/
但我找不到办法去做。
发布于 2022-07-08 02:20:42
您可以在薄荷地址上使用getSignaturesForAddress RPC方法并向后走以获取所有事务。
以下是JS中的一个示例:
import {
Connection,
clusterApiUrl,
ConfirmedSignatureInfo,
PublicKey,
} from "@solana/web3.js";
const connection = new Connection(clusterApiUrl("mainnet-beta"));
export const getTxs = async (connection: Connection, pubkey: PublicKey) => {
const txs: ConfirmedSignatureInfo[] = [];
// Walk backward
let lastTransactions = await connection.getConfirmedSignaturesForAddress2(
pubkey
);
let before = lastTransactions[lastTransactions.length - 1].signature;
txs.push(...lastTransactions);
while (true) {
const newTransactions = await connection.getConfirmedSignaturesForAddress2(
pubkey,
{
before,
}
);
if (newTransactions.length === 0) break;
txs.push(...newTransactions);
before = newTransactions[newTransactions.length - 1].signature;
}
return txs;
};
getTxs(
connection,
new PublicKey("2Nzt8TYeAfgJDftKzkb7rgYShVvyXTR7cPVvpqaZ2a4V")
);Solana.py中的等价方法是这个地址
https://stackoverflow.com/questions/72903266
复制相似问题