Отправка и получение токенов

На этой странице описывается, как получать и отправлять токены SOL с помощью инструментов командной строки с кошельком командной строки, например бумажным кошельком, кошельком файловой системы или аппаратный кошелек. Прежде чем начать, убедитесь, что вы создали кошелек и имеете доступ к его адресу (pubkey) и паре ключей для подписи. Ознакомьтесь с нашими условиями ввода пар ключей для разных типов кошельков.

Проверка вашего кошелька

Прежде чем делиться своим открытым ключом с другими, вы можете сначала убедиться, что ключ действителен и что вы действительно владеете соответствующим закрытым ключом.

В этом примере мы создадим второй кошелек в дополнение к вашему первому кошельку, а затем переведем на него несколько токенов. Это подтвердит, что вы можете отправлять и получать токены с помощью выбранного типа кошелька.

В этом тестовом примере используется наша тестовая сеть для разработчиков, которая называется devnet. Токены, выпущенные в devnet, не имеют ценности, поэтому не беспокойтесь, если вы их потеряете.

Раздайте несколько токенов, чтобы начать

Во-первых, airdrop себе несколько игровых жетонов в devnet.

solana airdrop 1 <RECIPIENT_ACCOUNT_ADDRESS> --url https://api.devnet.solana.com

где вы заменяете текст <RECIPIENT_ACCOUNT_ADDRESS> своим открытым ключом/адресом кошелька в кодировке base58.

Проверьте свой баланс

Подтвердите, что аирдроп прошел успешно, проверив баланс аккаунта. Он должен вывести 1 SOL:

solana balance <ACCOUNT_ADDRESS> --url https://api.devnet.solana.com

Создайте второй адрес кошелька

Нам понадобится новый адрес для получения наших токенов. Создайте вторую пару ключей и запишите ее открытый ключ:

solana-keygen new --no-passphrase --no-outfile

Вывод будет содержать адрес после текста pubkey:. Скопируйте адрес. Мы будем использовать его на следующем шаге.

pubkey: GKvqsuNcnwWqPzzuhLmGi4rzzh55FhJtGizkhHaEJqiV

Вы также можете создать второй (или несколько) кошелек любого типа: бумажный, [файловая система](../wallet -guide/file-system-wallet.md#creating-multiple-file-system-wallet-addresss), или [аппаратное обеспечение](../wallet-guide/hardware-wallets.md#multiple-addresses-on-a- единый аппаратный кошелек).

Перевести токены с первого кошелька на второй адрес

Затем докажите, что вы владеете токенами, разосланными по воздуху, передав их. Кластер Solana примет передачу только в том случае, если вы подпишите транзакцию парой закрытых ключей, соответствующей открытому ключу отправителя в транзакции.

solana transfer --from <KEYPAIR> <RECIPIENT_ACCOUNT_ADDRESS> 0.5 --allow-unfunded-recipient --url https://api.devnet.solana.com --fee-payer <KEYPAIR>

где вы заменяете <KEYPAIR> на путь к паре ключей в вашем первом кошельке и заменяете <RECIPIENT_ACCOUNT_ADDRESS> на адрес вашего второго кошелька.

Подтвердите обновленные балансы с помощью solana balance:

solana balance <ACCOUNT_ADDRESS> --url http://api.devnet.solana.com

где <ACCOUNT_ADDRESS> — это либо открытый ключ из вашей пары ключей, либо открытый ключ получателя.

Полный пример тестового переноса

$ solana-keygen new --outfile my_solana_wallet.json   # Creating my first wallet, a file system wallet
Generating a new keypair
For added security, enter a passphrase (empty for no passphrase):
Wrote new keypair to my_solana_wallet.json
==========================================================================
pubkey: DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK                          # Here is the address of the first wallet
==========================================================================
Save this seed phrase to recover your new keypair:
width enhance concert vacant ketchup eternal spy craft spy guard tag punch    # If this was a real wallet, never share these words on the internet like this!
==========================================================================

$ solana airdrop 1 DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK --url https://api.devnet.solana.com  # Airdropping 1 SOL to my wallet's address/pubkey
Requesting airdrop of 1 SOL from 35.233.193.70:9900
1 SOL

$ solana balance DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK --url https://api.devnet.solana.com # Check the address's balance
1 SOL

$ solana-keygen new --no-outfile  # Creating a second wallet, a paper wallet
Generating a new keypair
For added security, enter a passphrase (empty for no passphrase):
====================================================================
pubkey: 7S3P4HxJpyyigGzodYwHtCxZyUQe9JiBMHyRWXArAaKv                   # Here is the address of the second, paper, wallet.
====================================================================
Save this seed phrase to recover your new keypair:
clump panic cousin hurt coast charge engage fall eager urge win love   # If this was a real wallet, never share these words on the internet like this!
====================================================================

$ solana transfer --from my_solana_wallet.json 7S3P4HxJpyyigGzodYwHtCxZyUQe9JiBMHyRWXArAaKv 0.5 --allow-unfunded-recipient --url https://api.devnet.solana.com --fee-payer my_solana_wallet.json  # Transferring tokens to the public address of the paper wallet
3gmXvykAd1nCQQ7MjosaHLf69Xyaqyq1qw2eu1mgPyYXd5G4v1rihhg1CiRw35b9fHzcftGKKEu4mbUeXY2pEX2z  # This is the transaction signature

$ solana balance DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK --url https://api.devnet.solana.com
0.499995 SOL  # The sending account has slightly less than 0.5 SOL remaining due to the 0.000005 SOL transaction fee payment

$ solana balance 7S3P4HxJpyyigGzodYwHtCxZyUQe9JiBMHyRWXArAaKv --url https://api.devnet.solana.com
0.5 SOL  # The second wallet has now received the 0.5 SOL transfer from the first wallet

Получить токены

Чтобы получить токены, вам понадобится адрес, на который другие могут отправлять токены. В Solana адрес кошелька является открытым ключом пары ключей. Существует множество методов генерации пар ключей. Выбранный вами метод будет зависеть от того, как вы решите хранить пары ключей. Пары ключей хранятся в кошельках. Перед получением токенов вам необходимо создать кошелек. После завершения у вас должен быть открытый ключ для каждой сгенерированной вами пары ключей. Открытый ключ представляет собой длинную строку символов base58. Его длина варьируется от 32 до 44 символов.

Отправить токены

Если у вас уже есть SOL и вы хотите отправить кому-то токены, вам потребуется путь к вашей паре ключей, их открытый ключ в кодировке base58 и количество токенов для передачи. После того, как вы соберете это, вы можете передать токены с помощью команды solana transfer:

solana transfer --from <KEYPAIR> <RECIPIENT_ACCOUNT_ADDRESS> <AMOUNT> --fee-payer <KEYPAIR>

Подтвердите обновленные балансы с помощью solana balance:

solana balance <ACCOUNT_ADDRESS>