新一代公链代表Solana(6) --- 如何通过命令行创建Solana SPL Token代币

上一篇文章中我们实现了本地钱包的安装和一些简单的账户操作。在这篇文章中,我们将探讨如何使用命令行工具通过 Solana 区块链发行 SPL(Solana Program Library)代币并进行空投。SPL 是 Solana 提供的标准化代币协议,允许开发者创建和交易各种类型的代币。

通过命令行,我们可以实现发行一个代币,并给自己账号mint一定数量的代币,然后通过命令行的方式或者插件钱包给其他同学空投该代币。

创建Token

luca@LucadeMacBook-Air ~ % spl-token create-token
Creating token E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy under program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA

Address:  E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy
Decimals:  9

Signature: 4ZzwaPK34qpLgamyKtPtLc3WtYp5HRpudiJwFzPszq6ErKPP6jeCsPxf9JWYcchg5S2QjAeUbNMX4F1azsyxnAdj

Token地址:E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy
精度:9位

创建Token Account

luca@LucadeMacBook-Air ~ % spl-token create-account E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy
Creating account Cemt9DSnRUZCJo7HtYeS75GrnfM6fne1HinqnUkiFdVz

Signature: 3QwfqKobnam53iL9HqpQE8Nj4jpdzBng9KzoDS8dPbi9iBfHUWV9XEWfVCJTCja7PJN7edFwGjJDnipr7aaA7GRZ

这里实际上调用了ATA合约,并创建了ATA账号:Cemt9DSnRUZCJo7HtYeS75GrnfM6fne1HinqnUkiFdVz

Mint Token

luca@LucadeMacBook-Air ~ % spl-token mint E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy 10000 Cemt9DSnRUZCJo7HtYeS75GrnfM6fne1HinqnUkiFdVz
Minting 10000 tokens
  Token: E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy
  Recipient: Cemt9DSnRUZCJo7HtYeS75GrnfM6fne1HinqnUkiFdVz

Signature: 4cesqzY5sh6Dy5thkyPxKKjdo2tTyE8eb3D895KnFmPEKY9LGKqgDCPx99xLA21MQPNTYNDihhD2LYtVFW9WS4p4

https://solscan.io/token/E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy?cluster=testnet
在这里插入图片描述

https://solscan.io/account/Cemt9DSnRUZCJo7HtYeS75GrnfM6fne1HinqnUkiFdVz?cluster=testnet
在这里插入图片描述
命令行查询SPL Token

luca@LucadeMacBook-Air ~ % spl-token balance E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy
10000

SPL Token转账

luca@LucadeMacBook-Air ~ % spl-token transfer --fund-recipient E69iMAYn5k9HcWiPRZtthMDmyv1owgiWSbZCtTn9VMzy 100 6nmqFHKGZP8AXpdh3ynwV4GQS1cc64wG8e8dZUgX4RoM
Transfer 100 tokens
  Sender: Cemt9DSnRUZCJo7HtYeS75GrnfM6fne1HinqnUkiFdVz
  Recipient: 6nmqFHKGZP8AXpdh3ynwV4GQS1cc64wG8e8dZUgX4RoM
  Recipient associated token account: EQPA9QhhDe9Mg41Vkar1fzyHjKcSNKiX6vHDd82LargQ
  Funding recipient: EQPA9QhhDe9Mg41Vkar1fzyHjKcSNKiX6vHDd82LargQ

Signature: 5moXxanL71T7WvSkSpPePn2rSdFrkcqSK6EsnabCvKw4NwMdGTiRVA5dKmbhymKpA8JRXgkYvRdGVFzTiEDUYqC8

https://solscan.io/account/6nmqFHKGZP8AXpdh3ynwV4GQS1cc64wG8e8dZUgX4RoM?cluster=testnet
在这里插入图片描述

在Python中监控Solana链上的SPL代币变化,可以使用Solana官方提供的PySolana库,它是一个Python SDK,可以帮助我们连接到Solana网络并获取交易数据。以下是基本步骤: 1. **安装PySolana**: 首先需要安装`pysolana`库,你可以使用pip来安装: ``` pip install pysolana ``` 2. **创建索拉纳客户端**: 导入必要的模块,并通过`WalletProvider`获取钱包密钥,用于连接至Solana节点: ```python from solana.publickey import PublicKey from solana.keypair import Keypair from solana.client import Client # 替换为你的公钥和私钥 keypair = Keypair.from_secret_key("YOUR_SECRET_KEY") url = "https://api.mainnet-beta.solana.com" # 使用主网或测试网地址 client = Client(url, wallet=keypair) ``` 3. **订阅账户**: 获取你要监控的SPL代币的账户地址,然后订阅这个地址的变化: ```python token_address = PublicKey("TOKEN_ADDRESS") # 替换为实际的SPL代币地址 def handle_events(event): print(f"Event: {event}") client.on_message += handle_events subscription = client.stream_account_history(token_address) ``` 4. **处理事件**: `subscription`将返回一个生成器,每次有新的交易发生时,会触发回调函数`handle_events`。你需要在这里处理具体的事件,比如余额变动。 5. **长期运行**: 通常你会在无限循环中接收和处理新事件,直到你选择停止监控。注意这可能会消耗一定的资源,所以可以选择设定定时任务或者限制监控的时间范围。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lucarun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值