本页介绍如何使用命令行工具和命令行钱包(如纸钱包或硬件钱包接收和发送SOL代币。在开始之前,请确保您已创建钱包并可以访问其地址(公钥)和签名密钥对。查看我们为不同钱包类型输入密钥对的约定。测试你的钱包在与他人分享您的公钥之前,您可能首先要确保该密钥有效并且您确实持有相应的私钥。在此示例
<!--StartFragment-->
本页介绍如何使用命令行工具和命令行钱包(如纸钱包或 硬件钱包接收和发送 SOL 代币。在开始之前,请确保您已创建钱包并可以访问其地址(公钥)和签名密钥对。查看我们为不同钱包类型输入密钥对的约定。
在与他人分享您的公钥之前,您可能首先要确保该密钥有效并且您确实持有相应的私钥。
在此示例中,我们将在您的第一个钱包之外创建第二个钱包,然后向其中转移一些代币。这将确认您可以在您选择的钱包类型上发送和接收代币。
此测试示例使用我们的开发者测试网,称为 devnet。在 devnet 上发行的代币没有价值,因此如果您丢失了它们,请不要担心。
首先,在开发网络上向自己空投一些游戏代币。
solana airdrop 1 <RECIPIENT_ACCOUNT_ADDRESS> --url https://api.devnet.solana.com
<RECIPIENT_ACCOUNT_ADDRESS>
其中,您可以使用 base58 编码的公钥/钱包地址替换文本。
将返回带有交易签名的响应。如果地址余额没有按预期金额变化,请运行以下命令以获取有关可能出现问题的更多信息:
solana confirm -v <TRANSACTION_SIGNATURE>
通过检查账户余额确认空投是否成功。它应该输出1 SOL
:
solana balance <ACCOUNT_ADDRESS> --url https://api.devnet.solana.com
我们需要一个新的地址来接收我们的代币。创建第二个密钥对并记录其公钥:
solana-keygen new --no-passphrase --no-outfile
输出将包含文本后的地址pubkey:
。复制该地址。我们将在下一步中使用它。
pubkey: GKvqsuNcnwWqPzzuhLmGi4rzzh55FhJtGizkhHaEJqiV
您还可以创建第二个(或更多)任何类型的钱包: 纸质钱包、 文件系统钱包或硬件钱包。
接下来,通过转移来证明您拥有空投的代币。只有当您使用与交易中发送者的公钥相对应的私钥对签署交易时,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>
<!--EndFragment-->
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!