JavaScript

Use full service rpc for getting blockhash. Nozomi only support sendTransaction.

const NOZOMI_TIP = new PublicKey("TEMPaMeCRFAS9EKF53Jd6KpHxgL47uWLcpFArU1Fanq");
const MIN_TIP_AMOUNT = 1000000;

async function sendNozomiTx(ixs, signer, rpcClient) {
  const tipIx = SystemProgram.transfer({
    fromPubkey: signer.publicKey,
    toPubkey: NOZOMI_TIP,
    lamports: MIN_TIP_AMOUNT,
  });
  ixs.push(tipIx);

  const { blockhash } = await rpcClient.getLatestBlockhash();

  const tx = new Transaction().add(...ixs);
  tx.recentBlockhash = blockhash;
  tx.feePayer = signer.publicKey;
  tx.sign(signer);

  const signature = await rpcClient.sendTransaction(tx, [signer]);
  console.log("Transaction sent with signature:", signature);
}

Last updated