使用 Solana CLI 发送和接收代币

  • 想样
  • 发布于 4天前
  • 阅读 295

本页介绍如何使用命令行工具和命令行钱包(如纸钱包或硬件钱包接收和发送SOL代币。在开始之前,请确保您已创建钱包并可以访问其地址(公钥)和签名密钥对。查看我们为不同钱包类型输入密钥对的约定。测试你的钱包在与他人分享您的公钥之前,您可能首先要确保该密钥有效并且您确实持有相应的私钥。在此示例

<!--StartFragment-->

本页介绍如何使用命令行工具和命令行钱包(如纸钱包或 硬件钱包接收和发送 SOL 代币。在开始之前,请确保您已创建钱包并可以访问其地址(公钥)和签名密钥对。查看我们为不同钱包类型输入密钥对的约定。

测试你的钱包

在与他人分享您的公钥之前,您可能首先要确保该密钥有效并且您确实持有相应的私钥。

在此示例中,我们将在您的第一个钱包之外创建第二个钱包,然后向其中转移一些代币。这将确认您可以在您选择的钱包类型上发送和接收代币。

此测试示例使用我们的开发者测试网,称为 devnet。在 devnet 上发行的代币没有价值,因此如果您丢失了它们,请不要担心。

空投一些代币以开始使用

首先,在开发网络上向自己空投一些游戏代币。

solana airdrop 1 &lt;RECIPIENT_ACCOUNT_ADDRESS> --url https://api.devnet.solana.com

&lt;RECIPIENT_ACCOUNT_ADDRESS>其中,您可以使用 base58 编码的公钥/钱包地址替换文本。

将返回带有交易签名的响应。如果地址余额没有按预期金额变化,请运行以下命令以获取有关可能出现问题的更多信息:

solana confirm -v &lt;TRANSACTION_SIGNATURE>

检查你的余额

通过检查账户余额确认空投是否成功。它应该输出1 SOL

solana balance &lt;ACCOUNT_ADDRESS> --url https://api.devnet.solana.com

创建第二个钱包地址

我们需要一个新的地址来接收我们的代币。创建第二个密钥对并记录其公钥:

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

输出将包含文本后的地址pubkey:。复制该地址。我们将在下一步中使用它。

pubkey: GKvqsuNcnwWqPzzuhLmGi4rzzh55FhJtGizkhHaEJqiV

您还可以创建第二个(或更多)任何类型的钱包: 纸质钱包、 文件系统钱包硬件钱包

将代币从第一个钱包转移到第二地址

接下来,通过转移来证明您拥有空投的代币。只有当您使用与交易中发送者的公钥相对应的私钥对签署交易时,Solana 集群才会接受转移。

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

&lt;KEYPAIR>其中,用第一个钱包中密钥对的路径替换,&lt;RECIPIENT_ACCOUNT_ADDRESS>用第二个钱包的地址替换。

确认更新后的余额solana balance

solana balance &lt;ACCOUNT_ADDRESS> --url http://api.devnet.solana.com

其中&lt;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 &lt;KEYPAIR> &lt;RECIPIENT_ACCOUNT_ADDRESS> &lt;AMOUNT> --fee-payer &lt;KEYPAIR>

确认更新后的余额solana balance

solana balance &lt;ACCOUNT_ADDRESS>

<!--EndFragment-->

  • 原创
  • 学分: 5
  • 分类: Solana
  • 标签:
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
想样
想样
江湖只有他的大名,没有他的介绍。