-
Notifications
You must be signed in to change notification settings - Fork 0
/
create-tx.ts
43 lines (35 loc) · 1.09 KB
/
create-tx.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import {
Connection,
LAMPORTS_PER_SOL,
Transaction,
SystemProgram,
sendAndConfirmTransaction,
PublicKey,
Keypair
} from "@solana/web3.js";
require('dotenv').config();
const secretKey = process.env.SECRET_KEY;
if (!secretKey) {
throw new Error("SECRET_KEY is not defined in the .env file");
}
const keypair = Keypair.fromSecretKey(Uint8Array.from(JSON.parse(secretKey)));
const connection = new Connection("https://api.devnet.solana.com", "confirmed");
(async () => {
// create tx
const transaction = new Transaction();
const sender = keypair.publicKey;
const recipient = new PublicKey("Fn1PPuyAn45WRT1wA4K9qhE4XCu6aTktfsbt43ZYcVS6");
const amount = 0.01;
const sendSolInstruction = SystemProgram.transfer({
fromPubkey: sender,
toPubkey: recipient,
lamports: LAMPORTS_PER_SOL * amount,
});
transaction.add(sendSolInstruction);
const signature = await sendAndConfirmTransaction(
connection,
transaction,
[keypair]
);
console.log(`Transaction signature is ${signature} !`);
})();