Distinguish account addresses from public keys (#8998)
This commit is contained in:
parent
18c1f0dfe9
commit
ca4a22d4ba
|
@ -2271,10 +2271,10 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("to")
|
Arg::with_name("to")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("RECIPIENT_PUBKEY")
|
.value_name("RECIPIENT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
.help("The pubkey of airdrop recipient"),
|
.help("The account address of airdrop recipient"),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.subcommand(
|
.subcommand(
|
||||||
|
@ -2283,10 +2283,10 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("pubkey")
|
Arg::with_name("pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
.help("The public key of the balance to check"),
|
.help("The account address of the balance to check"),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("lamports")
|
Arg::with_name("lamports")
|
||||||
|
@ -2301,11 +2301,11 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("process_id")
|
Arg::with_name("process_id")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("PROCESS_PUBKEY")
|
.value_name("ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_pubkey)
|
.validator(is_pubkey)
|
||||||
.help("The process id of the transfer to cancel"),
|
.help("The account address of the transfer to cancel"),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.subcommand(
|
.subcommand(
|
||||||
|
@ -2334,7 +2334,7 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("program_id")
|
Arg::with_name("program_id")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("PROGRAM_PUBKEY")
|
.value_name("PROGRAM_ID")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.help(
|
.help(
|
||||||
|
@ -2370,11 +2370,11 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("to")
|
Arg::with_name("to")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("RECIPIENT_PUBKEY")
|
.value_name("RECIPIENT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
.help("The pubkey of recipient"),
|
.help("The account address of recipient"),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("amount")
|
Arg::with_name("amount")
|
||||||
|
@ -2439,19 +2439,19 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("to")
|
Arg::with_name("to")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("RECIPIENT_PUBKEY")
|
.value_name("RECIPIENT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_pubkey)
|
.validator(is_pubkey)
|
||||||
.help("The pubkey of recipient"),
|
.help("The account address of recipient"),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("process_id")
|
Arg::with_name("process_id")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("PROCESS_PUBKEY")
|
.value_name("ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.help("The process id of the transfer to authorize"),
|
.help("The account address of the transfer to authorize"),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.subcommand(
|
.subcommand(
|
||||||
|
@ -2460,19 +2460,19 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("to")
|
Arg::with_name("to")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("RECIPIENT_PUBKEY")
|
.value_name("RECIPIENT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_pubkey)
|
.validator(is_pubkey)
|
||||||
.help("The pubkey of recipient"),
|
.help("The account address of recipient"),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("process_id")
|
Arg::with_name("process_id")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("PROCESS_PUBKEY")
|
.value_name("ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.help("The process id of the transfer to unlock"),
|
.help("The account address of the transfer to unlock"),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("datetime")
|
Arg::with_name("datetime")
|
||||||
|
@ -2488,11 +2488,11 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("to")
|
Arg::with_name("to")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("RECIPIENT_PUBKEY")
|
.value_name("RECIPIENT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
.help("The pubkey of recipient"),
|
.help("The account address of recipient"),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("amount")
|
Arg::with_name("amount")
|
||||||
|
@ -2523,7 +2523,7 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("account_pubkey")
|
Arg::with_name("account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
|
|
@ -94,7 +94,7 @@ impl NonceSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("nonce_account_pubkey")
|
Arg::with_name("nonce_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("NONCE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -155,7 +155,7 @@ impl NonceSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("nonce_account_pubkey")
|
Arg::with_name("nonce_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("NONCE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -168,7 +168,7 @@ impl NonceSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("nonce_account_pubkey")
|
Arg::with_name("nonce_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("NONCE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -183,7 +183,7 @@ impl NonceSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("nonce_account_pubkey")
|
Arg::with_name("nonce_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("NONCE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -202,7 +202,7 @@ impl NonceSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("nonce_account_pubkey")
|
Arg::with_name("nonce_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("NONCE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -211,7 +211,7 @@ impl NonceSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("destination_account_pubkey")
|
Arg::with_name("destination_account_pubkey")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("RECIPIENT_PUBKEY")
|
.value_name("RECIPIENT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
|
|
@ -160,7 +160,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("stake_account_pubkey")
|
Arg::with_name("stake_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STAKE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -169,7 +169,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("vote_account_pubkey")
|
Arg::with_name("vote_account_pubkey")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("VOTE_PUBKEY")
|
.value_name("VOTE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -187,7 +187,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("stake_account_pubkey")
|
Arg::with_name("stake_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STAKE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -214,7 +214,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("stake_account_pubkey")
|
Arg::with_name("stake_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STAKE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -241,7 +241,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("stake_account_pubkey")
|
Arg::with_name("stake_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STAKE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -259,7 +259,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("stake_account_pubkey")
|
Arg::with_name("stake_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STAKE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -302,7 +302,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("stake_account_pubkey")
|
Arg::with_name("stake_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STAKE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -311,7 +311,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("destination_account_pubkey")
|
Arg::with_name("destination_account_pubkey")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("RECIPIENT_PUBKEY")
|
.value_name("RECIPIENT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -338,7 +338,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("stake_account_pubkey")
|
Arg::with_name("stake_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STAKE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -390,7 +390,7 @@ impl StakeSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("stake_account_pubkey")
|
Arg::with_name("stake_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STAKE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
|
|
@ -66,7 +66,7 @@ impl StorageSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("node_account_pubkey")
|
Arg::with_name("node_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("NODE_PUBKEY")
|
.value_name("NODE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -75,7 +75,7 @@ impl StorageSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("storage_account_pubkey")
|
Arg::with_name("storage_account_pubkey")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STORAGE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -89,11 +89,11 @@ impl StorageSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("storage_account_pubkey")
|
Arg::with_name("storage_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("STORAGE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
.help("Storage account pubkey"),
|
.help("Storage account address"),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,7 +82,7 @@ impl VoteSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("vote_account_pubkey")
|
Arg::with_name("vote_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("VOTE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -104,7 +104,7 @@ impl VoteSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("vote_account_pubkey")
|
Arg::with_name("vote_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("VOTE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -126,7 +126,7 @@ impl VoteSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("vote_account_pubkey")
|
Arg::with_name("vote_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("VOTE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -166,7 +166,7 @@ impl VoteSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("vote_account_pubkey")
|
Arg::with_name("vote_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("VOTE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -185,7 +185,7 @@ impl VoteSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("vote_account_pubkey")
|
Arg::with_name("vote_account_pubkey")
|
||||||
.index(1)
|
.index(1)
|
||||||
.value_name("ACCOUNT_PUBKEY")
|
.value_name("VOTE_ACCOUNT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
@ -194,7 +194,7 @@ impl VoteSubCommands for App<'_, '_> {
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("destination_account_pubkey")
|
Arg::with_name("destination_account_pubkey")
|
||||||
.index(2)
|
.index(2)
|
||||||
.value_name("RECIPIENT_PUBKEY")
|
.value_name("RECIPIENT_ADDRESS")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
.validator(is_valid_pubkey)
|
.validator(is_valid_pubkey)
|
||||||
|
|
|
@ -32,10 +32,10 @@ where you replace the text `<COMMAND>` with the name of the command you want
|
||||||
to learn more about.
|
to learn more about.
|
||||||
|
|
||||||
The command's usage message will typically contain words such as `<AMOUNT>`,
|
The command's usage message will typically contain words such as `<AMOUNT>`,
|
||||||
`<PUBKEY>` or `<KEYPAIR>`. Each word is a placeholder for the *type* of text
|
`<ACCOUNT_ADDRESS>` or `<KEYPAIR>`. Each word is a placeholder for the *type* of
|
||||||
you can execute the command with. For example, you can replace `<AMOUNT>`
|
text you can execute the command with. For example, you can replace `<AMOUNT>`
|
||||||
with a number such as `42` or `100.42`. You can replace `<PUBKEY>` with the
|
with a number such as `42` or `100.42`. You can replace `<ACCOUNT_ADDRESS>` with
|
||||||
base58 encoding of your public key. For `<KEYPAIR>`, it depends on what type
|
the base58 encoding of your public key. For `<KEYPAIR>`, it depends on what type
|
||||||
of wallet you chose. If you chose an fs wallet, that path might be
|
of wallet you chose. If you chose an fs wallet, that path might be
|
||||||
`~/my-solana-wallet/my-keypair.json`. If you chose a paper wallet, use the
|
`~/my-solana-wallet/my-keypair.json`. If you chose a paper wallet, use the
|
||||||
keyword `ASK`, and the Solana CLI will prompt you for your seed phrase. If
|
keyword `ASK`, and the Solana CLI will prompt you for your seed phrase. If
|
||||||
|
@ -50,16 +50,17 @@ Try and *airdrop* yourself some play tokens on the developer testnet, called
|
||||||
Devnet:
|
Devnet:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
solana airdrop 10 <RECIPIENT_PUBKEY> --url http://devnet.solana.com
|
solana airdrop 10 <RECIPIENT_ACCOUNT_ADDRESS> --url http://devnet.solana.com
|
||||||
```
|
```
|
||||||
|
|
||||||
where you replace the text `<RECIPIENT_PUBKEY>` with your base58 public key.
|
where you replace the text `<RECIPIENT_ACCOUNT_ADDRESS>` with your base58-encoded
|
||||||
|
public key.
|
||||||
|
|
||||||
Confirm the airdrop was successful by checking the account's balance.
|
Confirm the airdrop was successful by checking the account's balance.
|
||||||
It should output `10 SOL`:
|
It should output `10 SOL`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
solana balance <ACCOUNT_PUBKEY> --url http://devnet.solana.com
|
solana balance <ACCOUNT_ADDRESS> --url http://devnet.solana.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Next, prove that you own those tokens by transferring them. The Solana cluster
|
Next, prove that you own those tokens by transferring them. The Solana cluster
|
||||||
|
@ -83,19 +84,19 @@ pubkey: GKvqsuNcnwWqPzzuhLmGi4rzzh55FhJtGizkhHaEJqiV
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
solana transfer --keypair=<SENDER_KEYPAIR> <RECIPIENT_PUBKEY> 5 --url http://devnet.solana.com
|
solana transfer --keypair=<SENDER_KEYPAIR> <RECIPIENT_ACCOUNT_ADDRESS> 5 --url http://devnet.solana.com
|
||||||
```
|
```
|
||||||
|
|
||||||
where you replace `<SENDER_KEYPAIR>` with the path to a keypair in your wallet,
|
where you replace `<SENDER_KEYPAIR>` with the path to a keypair in your wallet,
|
||||||
and replace `<RECIPIENT_PUBKEY>` with the output of `solana-keygen new` above.
|
and replace `<RECIPIENT_ACCOUNT_ADDRESS>` with the output of `solana-keygen new` above.
|
||||||
|
|
||||||
Confirm the updated balances with `solana balance`:
|
Confirm the updated balances with `solana balance`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
solana balance <ACCOUNT_PUBKEY> --url http://devnet.solana.com
|
solana balance <ACCOUNT_ADDRESS> --url http://devnet.solana.com
|
||||||
```
|
```
|
||||||
|
|
||||||
where `<PUBKEY>` is either the public key from your keypair or the
|
where `<ACCOUNT_ADDRESS>` is either the public key from your keypair or the
|
||||||
recipient's public key.
|
recipient's public key.
|
||||||
|
|
||||||
## Send Tokens
|
## Send Tokens
|
||||||
|
@ -106,11 +107,11 @@ tokens to transfer. Once you have that collected, you can transfer tokens
|
||||||
with the `solana transfer` command:
|
with the `solana transfer` command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
solana transfer --keypair=<SENDER_KEYPAIR> <RECIPIENT_PUBKEY> <AMOUNT>
|
solana transfer --keypair=<SENDER_KEYPAIR> <RECIPIENT_ACCOUNT_ADDRESS> <AMOUNT>
|
||||||
```
|
```
|
||||||
|
|
||||||
Confirm the updated balances with `solana balance`:
|
Confirm the updated balances with `solana balance`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
solana balance <ACCOUNT_PUBKEY>
|
solana balance <ACCOUNT_ADDRESS>
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in New Issue