Solana CookbookTransactions

How to Add a Memo to a Transaction

Any transaction can add a message making use of the SPL memo program.

import {
getExplorerLink,
createTransaction,
createSolanaClient,
getSignatureFromTransaction,
signTransactionMessageWithSigners,
} from "gill";
import { loadKeypairSignerFromFile } from "gill/node";
import { getAddMemoInstruction } from "gill/programs";
const { rpc, sendAndConfirmTransaction } = createSolanaClient({
urlOrMoniker: "devnet", // or `mainnet`, `localnet`, etc
});
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
// load a Signer from the default Solana CLI keypair file
const signer = await loadKeypairSignerFromFile();
const transaction = createTransaction({
version: "legacy",
feePayer: signer,
instructions: [
getAddMemoInstruction({
memo: "Memo message to send in this transaction",
}),
],
latestBlockhash,
});
const signedTransaction = await signTransactionMessageWithSigners(transaction);
console.log(
"Sending transaction:",
getExplorerLink({
cluster: "devnet",
transaction: getSignatureFromTransaction(signedTransaction),
}),
);
await sendAndConfirmTransaction(signedTransaction);

Is this page helpful?