github.com/gagliardetto/solana-go@v1.11.0/rpc/requestAirdrop.go (about) 1 // Copyright 2021 github.com/gagliardetto 2 // This file has been modified by github.com/gagliardetto 3 // 4 // Copyright 2020 dfuse Platform Inc. 5 // 6 // Licensed under the Apache License, Version 2.0 (the "License"); 7 // you may not use this file except in compliance with the License. 8 // You may obtain a copy of the License at 9 // 10 // http://www.apache.org/licenses/LICENSE-2.0 11 // 12 // Unless required by applicable law or agreed to in writing, software 13 // distributed under the License is distributed on an "AS IS" BASIS, 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 // See the License for the specific language governing permissions and 16 // limitations under the License. 17 package rpc 18 19 import ( 20 "context" 21 22 "github.com/gagliardetto/solana-go" 23 ) 24 25 // RequestAirdrop requests an airdrop of lamports to a publicKey. 26 // Returns transaction signature of airdrop. 27 func (cl *Client) RequestAirdrop( 28 ctx context.Context, 29 account solana.PublicKey, 30 lamports uint64, 31 commitment CommitmentType, // optional; used for retrieving blockhash and verifying airdrop success. 32 ) (signature solana.Signature, err error) { 33 params := []interface{}{ 34 account, 35 lamports, 36 } 37 if commitment != "" { 38 params = append(params, 39 M{"commitment": commitment}, 40 ) 41 } 42 err = cl.rpcClient.CallForInto(ctx, &signature, "requestAirdrop", params) 43 return 44 }