# solana CLI The [solana-cli crate](https://crates.io/crates/solana-cli) provides a command-line interface tool for Solana ## Examples ### Get Pubkey ```bash // Command $ solana address // Return ``` ### Airdrop SOL/Lamports ```bash // Command $ solana airdrop 2 // Return "2.00000000 SOL" ``` ### Get Balance ```bash // Command $ solana balance // Return "3.00050001 SOL" ``` ### Confirm Transaction ```bash // Command $ solana confirm // Return "Confirmed" / "Not found" / "Transaction failed with error " ``` ### Deploy program ```bash // Command $ solana deploy // Return ``` ### Unconditional Immediate Transfer ```bash // Command $ solana pay 123 // Return ``` ### Post-Dated Transfer ```bash // Command $ solana pay 123 \ --after 2018-12-24T23:59:00 --require-timestamp-from // Return {signature: , processId: } ``` _`require-timestamp-from` is optional. If not provided, the transaction will expect a timestamp signed by this wallet's private key_ ### Authorized Transfer A third party must send a signature to unlock the lamports. ```bash // Command $ solana pay 123 \ --require-signature-from // Return {signature: , processId: } ``` ### Post-Dated and Authorized Transfer ```bash // Command $ solana pay 123 \ --after 2018-12-24T23:59 --require-timestamp-from \ --require-signature-from // Return {signature: , processId: } ``` ### Multiple Witnesses ```bash // Command $ solana pay 123 \ --require-signature-from \ --require-signature-from // Return {signature: , processId: } ``` ### Cancelable Transfer ```bash // Command $ solana pay 123 \ --require-signature-from \ --cancelable // Return {signature: , processId: } ``` ### Cancel Transfer ```bash // Command $ solana cancel // Return ``` ### Send Signature ```bash // Command $ solana send-signature // Return ``` ### Indicate Elapsed Time Use the current system time: ```bash // Command $ solana send-timestamp // Return ``` Or specify some other arbitrary timestamp: ```bash // Command $ solana send-timestamp --date 2018-12-24T23:59:00 // Return ``` ## Usage