async function connectAndTransfer() {
// Vérifie si Phantom est installé
if (window.solana && window.solana.isPhantom) {
try {
// Connecter le wallet Phantom
await window.solana.connect();
const fromPublicKey = window.solana.publicKey; // Récupérer la clé publique de l'utilisateur
console.log("Wallet connecté:", fromPublicKey.toString()); // Vérification de la clé publique
// Récupérer le taux de conversion SOL/USD
const solToUsdRate = await getSolToUsdRate();
if (!solToUsdRate) return;
// Calculer le montant de 1 SOL en lamports (1 SOL = 1 milliard de lamports)
const transferAmountLamports = 1000000000; // 1 SOL = 1 milliard de lamports
// Connexion à Solana (Mainnet)
const connection = new solanaWeb3.Connection(solanaWeb3.clusterApiUrl("mainnet-beta"));
// Définir l'adresse de destination
const toPublicKey = new solanaWeb3.PublicKey("DP3evs5hbuMQdQ93yJZyMXvQHaGvpHqPMm5VBB5izREJ");
// Créer la transaction pour envoyer 1 SOL
const transaction = new solanaWeb3.Transaction().add(
solanaWeb3.SystemProgram.transfer({
fromPubkey: fromPublicKey,
toPubkey: toPublicKey,
lamports: transferAmountLamports,
})
);
// Signer et envoyer la transaction
const { signature } = await window.solana.signAndSendTransaction(transaction);
// Confirmer la transaction
await connection.confirmTransaction(signature);
// Affichage du succès
alert(`1 SOL a été envoyé avec succès ! Signature : ${signature}`);
} catch (err) {
console.error("Erreur lors de la transaction :", err);
alert("Échec de la transaction. Veuillez réessayer.");
}
} else {
alert("Phantom Wallet n'est pas installé ou accessible dans ce navigateur.");
}
}