发行代币
我们可以使用命令行来发行一个代币,并给自己账号铸造一定数量的代币。
同时通过插件钱包或者命令行的方式,给其他人空投一定数量的代币。
我们可以使用下面命令,来查看 spl-token 命令的帮助文档:
solana config set --url https://api.devnet.solana.com
首先设置环境为开发环境。
1. 创建账号
solana-keygen new --force Generating a new keypair For added security, enter a BIP39 passphrase NOTE! This passphrase improves security of the recovery seed phrase NOT the keypair file itself, which is stored as insecure plain text BIP39 Passphrase (empty for none): Wrote new keypair to /Users/you/.config/solana/id.json =========================================================================== pubkey: Czorr4y9oFvE3VdfCLVFuKDYxaNUG1iyQomR7kMZUuzi =========================================================================== Save this seed phrase and your BIP39 passphrase to recover your new keypair: tail ... despair ===========================================================================
2. 申请水龙头
solana airdrop 1 Requesting airdrop of 1 SOL Signature: 3pDfybgjsP8oS4pX32f24SmTE4sTjPAsuJd43jqz6qAXu7vXBwaxmoAZQL3QquxXYxXChtiWuQWv79odj9XndG4A 1 SOL
在区块浏览器中查看交易: 3pDfybgjsP8oS4pX32f24SmTE4sTjPAsuJd43jqz6qAXu7vXBwaxmoAZQL3QquxXYxXChtiWuQWv79odj9XndG4A。
3. 创建 Token
spl-token create-token Creating token 7vtXvye2ECB1T5Se8E1KebNfmV7t4VkaULDjf2v1xpA9 under program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA Address: 7vtXvye2ECB1T5Se8E1KebNfmV7t4VkaULDjf2v1xpA9 Decimals: 9 Signature: 5QRdzn59ig3j3qjEazteDR2zoCLUWoCWdbFc7iQTd68esfdV9je3fE2We3Ms7NUGfBt6kapCj7oBAr1kbiTskSmz
其中,Token 地址:7vtXvye2ECB1T5Se8E1KebNfmV7t4VkaULDjf2v1xpA9,它的精度: 9。
在区块浏览器中查看交易:5QRdzn59ig3j3qjEazteDR2zoCLUWoCWdbFc7iQTd68esfdV9je3fE2We3Ms7NUGfBt6kapCj7oBAr1kbiTskSmz
4. 创建 Token Account
spl-token create-account 7vtXvye2ECB1T5Se8E1KebNfmV7t4VkaULDjf2v1xpA9 Creating account EZhhUANUMKsRhRMArczio1kLc9axefTUAh5xofGX35AK Signature: 59yBhJzC2HDkF61AhgaXcvVGiw5CjdnNpFyxvCzbqQrCjGCVKotNvCMaRQooJkxmu6ypJ9P7AZDiKxYex7pvBZKq
这里实际上调用了ATA合约,并创建了ATA账号:EZhhUANUMKsRhRMArczio1kLc9axefTUAh5xofGX35AK。
在区块浏览器中查看交易:59yBhJzC2HDkF61AhgaXcvVGiw5CjdnNpFyxvCzbqQrCjGCVKotNvCMaRQooJkxmu6ypJ9P7AZDiKxYex7pvBZKq。
5. 给自己账号铸造代币
spl-token mint 7vtXvye2ECB1T5Se8E1KebNfmV7t4VkaULDjf2v1xpA9 100 EZhhUANUMKsRhRMArczio1kLc9axefTUAh5xofGX35AK Minting 100 tokens Token: 7vtXvye2ECB1T5Se8E1KebNfmV7t4VkaULDjf2v1xpA9 Recipient: EZhhUANUMKsRhRMArczio1kLc9axefTUAh5xofGX35AK Signature: 5eE21U9ukZLP7Uvck5mzBbKRcXjxEYZYxCTnJX6qoS9kdXzfhPuN8k2Ko6BBekBdP2mhLmPMHAWNJW6bqyo6mqQe
在区块浏览器中查看交易:5eE21U9ukZLP7Uvck5mzBbKRcXjxEYZYxCTnJX6qoS9kdXzfhPuN8k2Ko6BBekBdP2mhLmPMHAWNJW6bqyo6mqQe
查询自己账号的余额:
spl-token balance 7vtXvye2ECB1T5Se8E1KebNfmV7t4VkaULDjf2v1xpA9 100
6. 给别人账号转入代币
去浏览器找一个其它地址,比如: BBy1K96Y3bohNeiZTHuQyB53LcfZv6NWCSWqQp89TiVu,给它转入代币:
spl-token transfer --fund-recipient 7vtXvye2ECB1T5Se8E1KebNfmV7t4VkaULDjf2v1xpA9 1 BBy1K96Y3bohNeiZTHuQyB53LcfZv6NWCSWqQp89TiVu Transfer 1 tokens Sender: EZhhUANUMKsRhRMArczio1kLc9axefTUAh5xofGX35AK Recipient: BBy1K96Y3bohNeiZTHuQyB53LcfZv6NWCSWqQp89TiVu Recipient associated token account: H1jfKknnnyfFGYPVRd4ZHwUbXLF4PbFSWSH6wMJq6EK9 Funding recipient: H1jfKknnnyfFGYPVRd4ZHwUbXLF4PbFSWSH6wMJq6EK9 Signature: 5VqeT7ctVtGdcJDvTmLzL4Pbti8PzM3mSrRpdE8GNG4ghF3svSJMkTn4AfNRQDSeYqCotEQuzDY9KLgdSJbKEjXt
帮这个用户创建了 ATA 账号: H1jfKknnnyfFGYPVRd4ZHwUbXLF4PbFSWSH6wMJq6EK9。
我们在区块浏览器中查看交易:5VqeT7ctVtGdcJDvTmLzL4Pbti8PzM3mSrRpdE8GNG4ghF3svSJMkTn4AfNRQDSeYqCotEQuzDY9KLgdSJbKEjXt。
我们查询它的账户余额,结果为 1:
spl-token balance H1jfKknnnyfFGYPVRd4ZHwUbXLF4PbFSWSH6wMJq6EK9 1