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