- React
- Browser SDK
- React Native
Report incorrect code
Copy
Ask AI
import { useSolana } from "@phantom/react-sdk";
import {
Connection,
PublicKey,
VersionedTransaction,
TransactionMessage,
SystemProgram,
LAMPORTS_PER_SOL,
} from "@solana/web3.js";
function SendSOL() {
const { solana } = useSolana();
const send = async (to: string, amount: number) => {
const connection = new Connection("https://api.mainnet-beta.solana.com");
const { blockhash } = await connection.getLatestBlockhash();
const from = new PublicKey(await solana.getPublicKey());
const transaction = new VersionedTransaction(
new TransactionMessage({
payerKey: from,
recentBlockhash: blockhash,
instructions: [
SystemProgram.transfer({
fromPubkey: from,
toPubkey: new PublicKey(to),
lamports: amount * LAMPORTS_PER_SOL,
}),
],
}).compileToV0Message()
);
const { signature } = await solana.signAndSendTransaction(transaction);
console.log("Transaction:", signature);
return signature;
};
return (
<button onClick={() => send("RECIPIENT_ADDRESS", 0.1)}>
Send 0.1 SOL
</button>
);
}
Report incorrect code
Copy
Ask AI
import { BrowserSDK, AddressType } from "@phantom/browser-sdk";
import {
Connection,
PublicKey,
VersionedTransaction,
TransactionMessage,
SystemProgram,
LAMPORTS_PER_SOL,
} from "@solana/web3.js";
const sdk = new BrowserSDK({
providers: ["google", "apple", "injected"],
appId: "your-app-id",
addressTypes: [AddressType.solana],
});
async function sendSOL(to: string, amount: number) {
const connection = new Connection("https://api.mainnet-beta.solana.com");
const { blockhash } = await connection.getLatestBlockhash();
const from = new PublicKey(await sdk.solana.getPublicKey());
const transaction = new VersionedTransaction(
new TransactionMessage({
payerKey: from,
recentBlockhash: blockhash,
instructions: [
SystemProgram.transfer({
fromPubkey: from,
toPubkey: new PublicKey(to),
lamports: amount * LAMPORTS_PER_SOL,
}),
],
}).compileToV0Message()
);
const { signature } = await sdk.solana.signAndSendTransaction(transaction);
return signature;
}
Report incorrect code
Copy
Ask AI
import { useSolana } from "@phantom/react-native-sdk";
import {
Connection,
PublicKey,
VersionedTransaction,
TransactionMessage,
SystemProgram,
LAMPORTS_PER_SOL,
} from "@solana/web3.js";
import { View, Button, Alert, StyleSheet } from "react-native";
function SendSOL() {
const { solana } = useSolana();
const send = async (to: string, amount: number) => {
try {
const connection = new Connection("https://api.mainnet-beta.solana.com");
const { blockhash } = await connection.getLatestBlockhash();
const from = new PublicKey(await solana.getPublicKey());
const transaction = new VersionedTransaction(
new TransactionMessage({
payerKey: from,
recentBlockhash: blockhash,
instructions: [
SystemProgram.transfer({
fromPubkey: from,
toPubkey: new PublicKey(to),
lamports: amount * LAMPORTS_PER_SOL,
}),
],
}).compileToV0Message()
);
const { signature } = await solana.signAndSendTransaction(transaction);
Alert.alert("Success", `Transaction sent: ${signature}`);
return signature;
} catch (error) {
Alert.alert("Error", error instanceof Error ? error.message : "Transaction failed");
throw error;
}
};
return (
<View style={styles.container}>
<Button
title="Send 0.1 SOL"
onPress={() => send("RECIPIENT_ADDRESS", 0.1)}
/>
</View>
);
}
const styles = StyleSheet.create({
container: {
padding: 20,
},
});