تجزیه کننده تراکنش های Solana: عملکرد بدون سرور Node.js در Vercel

در گستره دیجیتالی بلاک چین، جایی که هر بایت مهم است، ما قصد داریم تراکنش های سولانا را تجزیه و تحلیل کنیم و تراکنش های بیش از 100 SOL را جستجو کنیم. در اینجا نحوه انجام این کار با Node.js، استقرار به عنوان یک تابع بدون سرور در Vercel آمده است.
راه اندازی
ابتدا مطمئن شوید که Node.js و npm را روی دستگاه خود دارید. راه اندازی یک پروژه:
npm init -y
npm install @solana/web3.js
کد معاملات سولانا
یک دایرکتوری به نام ایجاد کنید api
و درون آن یک فایل solana-transactions.js
:
// api/solana-transactions.js
import { Connection, PublicKey } from '@solana/web3.js';
export default async function handler(req, res) {
const connection = new Connection('https://api.mainnet-beta.solana.com', 'confirmed');
try {
const latestBlock = await connection.getLatestBlockhashAndContext();
const slot = latestBlock.context.slot;
const blockData = await connection.getBlock(slot, { transactionDetails: "full" });
const largeTransactions = blockData.transactions.filter(tx => {
return tx.transaction.message.instructions.some(instruction => {
if (instruction.parsed) {
const { lamports } = instruction.parsed.info;
return lamports && lamports >= 100 * 1e9; // Over 100 SOL
}
return false;
});
});
const result = largeTransactions.map(tx => ({
signature: tx.transaction.signatures[0],
amount: tx.transaction.message.instructions[0].parsed.info.lamports / 1e9, // SOL conversion
source: tx.transaction.message.instructions[0].parsed.info.source,
destination: tx.transaction.message.instructions[0].parsed.info.destination
}));
res.status(200).json(result);
} catch (error) {
console.error(error);
res.status(500).json({ error: 'Failed to fetch or process transactions' });
}
}
استقرار Vercel
Vercel را با vercel.json
در ریشه پروژه شما:
{
"version": 2,
"routes": [
{
"src": "/api/(.*)",
"dest": "api/$1"
}
]
}
a اضافه کنید build
اسکریپت در package.json
در صورت نیاز:
{
"scripts": {
"build": "echo 'No build step needed'"
}
}
استقرار با استفاده از Vercel CLI:
vercel login
vercel
نتیجه
این تابع، پس از استقرار در Vercel، آخرین بلوک Solana را تجزیه و تحلیل می کند و تراکنش های بیش از 100 SOL را ثبت می کند. این یک راه ساده و در عین حال مؤثر برای نظارت بر تراکنشهای با ارزش بالا بدون بار نگهداری از سرور است.
ملاحظات
- عملکرد: نتایج حافظه پنهان برای کاهش تماس های API.
- امنیت: خطاها را با ظرافت مدیریت کنید و نرخ درخواست را محدود کنید.
- مقیاس پذیری: از محدودیت های عملکرد بدون سرور Vercel آگاه باشید.
در دریای وسیع داده های بلاک چین، این ابزار به عنوان سکسانت شما عمل می کند و با سادگی و کارایی فناوری بدون سرور در Vercel، شما را به تراکنش های قابل توجهی راهنمایی می کند.