How to sign transactions on Solana
In this post we are going to generate a simple transaction and then sign it on Solana Blockchain.
A = GE4kh5FsCDWeJfqLsKx7zC9ijkqKpCuYQxh8FYBiTJe
B = AaYFExyZuMHbJHzjimKyQBAH1yfA9sKTxSzBc6Nr5X4sGenerating Transaction Instruction
import {
clusterApiUrl,
Keypair,
PublicKey,
SystemProgram,
Transaction,
} from '@solana/web3.js';
async createTransferInstruction() : Promise<any> {
const fromPubKey = new PublicKey('GE4kh5FsCDWeJfqLsKx7zC9ijkqKpCuYQxh8FYBiTJe');
const tx = new Transaction().add(SystemProgram.transfer({
fromPubkey: fromPubKey,
/** Account that will receive transferred lamports */
toPubkey: new PublicKey('AaYFExyZuMHbJHzjimKyQBAH1yfA9sKTxSzBc6Nr5X4s'),
/** Amount of lamports to transfer */
lamports: 100000000,
}));
const connection = new Connection(clusterApiUrl("devnet"), 'confirmed');
const blockHash = (await connection.getLatestBlockhash('finalized')).blockhash;
tx.feePayer = fromPubKey;
tx.recentBlockhash = blockHash;
const serializedTransaction = tx.serialize({ requireAllSignatures: false, verifySignatures: true });
const transactionBase64 = serializedTransaction.toString('base64');
return {
encoded_transaction: transactionBase64
};
}Signing Transaction
Conclusion
Last updated