1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use solana_sdk::{ hash::Hash, pubkey::Pubkey, signature::Keypair, system_transaction, transaction::Transaction, }; use std::{ io::{Error, ErrorKind}, net::SocketAddr, }; pub fn request_airdrop_transaction( _faucet_addr: &SocketAddr, _id: &Pubkey, lamports: u64, _blockhash: Hash, ) -> Result<Transaction, Error> { if lamports == 0 { Err(Error::new(ErrorKind::Other, "Airdrop failed")) } else { let key = Keypair::new(); let to = solana_sdk::pubkey::new_rand(); let blockhash = Hash::default(); let tx = system_transaction::transfer(&key, &to, lamports, blockhash); Ok(tx) } }