Ana içeriğe geç

Hesaplama Talebini Optimize Etme

Bir işlemin Hesaplama Talebini optimize etmek, işlemin hem zamanında işlenmesini sağlamak hem de öncelik ücretlerinde fazla ödeme yapmaktan kaçınmak için önemlidir.

ipucu

Optimal hesaplama talep etme hakkında daha fazla bilgi için, tam kılavuzu inceleyin.

Ayrıca, bu detaylı kılavuzda öncelik ücretlerini kullanma hakkında daha fazla bilgi bulabilirsiniz.

// import { ... } from "@solana/web3.js"

async function buildOptimalTransaction(
connection: Connection,
instructions: Array<TransactionInstruction>,
signer: Signer,
lookupTables: Array<AddressLookupTableAccount>,
) {
const [microLamports, units, recentBlockhash] = await Promise.all([
100 /* Get optimal priority fees - https://solana.com/developers/guides/advanced/how-to-use-priority-fees*/,
getSimulationComputeUnits(
connection,
instructions,
signer.publicKey,
lookupTables,
),
connection.getLatestBlockhash(),
]);

instructions.unshift(
ComputeBudgetProgram.setComputeUnitPrice({ microLamports }),
);
if (units) {
// probably should add some margin of error to units
instructions.unshift(ComputeBudgetProgram.setComputeUnitLimit({ units }));
}
return {
transaction: new VersionedTransaction(
new TransactionMessage({
instructions,
recentBlockhash: recentBlockhash.blockhash,
payerKey: signer.publicKey,
}).compileToV0Message(lookupTables),
),
recentBlockhash,
};
}
not

Bu optimizasyon yöntemlerini uygulamak, işlemlerinizi daha verimli hale getirebilir ve işlem sürelerinizi azaltabilir.

tehlike

Hesaplama taleplerinin optimize edilmesi esnasında, potansiyel hatalara karşı dikkatli olunmalıdır.

Anahtar Not: Hesaplama taleplerinin optimize edilmesi, maliyetleri etkileyebilir.
— Geliştirici Kılavuzu