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; use solana_sdk::pubkey::Pubkey; use solana_sdk::signature::{Keypair, KeypairUtil}; use solana_sdk::system_transaction; use solana_sdk::transaction::Transaction; use std::io::{Error, ErrorKind}; use std::net::SocketAddr; pub fn request_airdrop_transaction( _drone_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 = Pubkey::new_rand(); let blockhash = Hash::default(); let tx = system_transaction::transfer(&key, &to, lamports, blockhash); Ok(tx) } }