【Solana】使用 CLI 创建 SPL 标准的 Token 以及基础使用

  • 0xE
  • 更新于 2天前
  • 阅读 100

本系列想尽量以快速上手的目的来讲解 Solana。并且在实践的过程中穿插新概念。

又开了一个新坑,开始写 Solana 系列,本系列想尽量以快速上手的目的来讲解 Solana。并且在实践的过程中穿插新概念。

安装

官方手册

以下指令有时效性,以官方手册为主。

安装流程:

## 安装 Rust 
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

. "$HOME/.cargo/env"

rustc --version

## 安装 Solana CLI
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"

echo 'export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"' >> ~/.zshrc

source ~/.zshrc

solana --version

## 更新 Solana
agave-install update

安装完 Solana CLI,等下我们要用到的 spl-token CLI 也安装好了。

查看安装的版本。

solana -V

spl-token -V

使用 CLI 创建 SPL 标准的 Token

在本篇文章中,我们主要学习命令行来创建 Token。并不是说只能用 CLI 来创建,也可以使用 solana/web3.js。

直接在 https://beta.solpg.io/ 上运行

Solana 同样有网页版的编辑器。在其中创建好钱包,并切换开发者网络,就可以直接使用 spl-token 命令。而在自己的电脑终端,需要先配置网络和钱包,之后在使用 spl-token 命令。

以下是在自己终端配置网络和钱包。也可以跳过看具体的 spl-token 命令,在 https://beta.solpg.io/ 在线使用,并部署到开发者网络。

将 Solana 配置为 Dev 网络运行

Solana的网络环境分成开发者网、测试网、主网三类,官方RPC地址分别是:

DevNet: https://api.devnet.solana.com TestNet: https://api.testnet.solana.com MainNet: https://api.mainnet-beta.solana.com

使用 DevNet:

solana config set --url https://api.devnet.solana.com

创建账号:

solana-keygen new --force

# 之后需要你输入密码

# 设置好密码后,将会提示 keypair 被存放的路径,以及其对应的 BIP39 的助记词

# 并且会显示当前账号的 pubkey,也可以使用以下命令来查看
solana-keygen pubkey

CLI 基本操作

官方文档

在这里简单使用一些指令

显示当前钱包地址

solana address

申请水龙头

solana airdrop 5

查看当前钱包余额

solana balance

查看账户信息

solana account 5NhLjdFKocoRMqic9sqAe5TxLagJCoCBunzg51ioMYot

Public Key: 5NhLjdFKocoRMqic9sqAe5TxLagJCoCBunzg51ioMYot
Balance: 5 SOL
Owner: 11111111111111111111111111111111  // 系统地址
Executable: false  // 并非可执行的,属于个人地址
Rent Epoch: 18446744073709551615 // 租赁期限

使用 spl-token CLI 创建 SPL 标准的 Token

官方文档

创建代币

使用 spl-token -hspl-token create-token -h 查看我们创建 Token 的选项,这里就不全列出来了,读者可自行查看。

USAGE:
    spl-token [FLAGS] [OPTIONS] <SUBCOMMAND>

USAGE:
    spl-token create-token [FLAGS] [OPTIONS] [TOKEN_KEYPAIR]

假如,现在我们需要创建一个 6 位小数的 Token,命令如下:

➜   spl-token create-token --decimals 6
Creating token CSNbBCYXVcDj4U7YMV1otuL6xtAiaARDA6Zz3ApGUKFj under program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA

Address:  CSNbBCYXVcDj4U7YMV1otuL6xtAiaARDA6Zz3ApGUKFj
Decimals:  6

Signature: 5kLjwFbvK8LBMS5fYytf3hd4geHsKXahJxt6WAeyEZumvidWxCtr1xiRj2XiTvze2ju3Uv5uBW23EwkPHPxNh1t8

不传 --decimals 就默认 9 位。

其中,Address 是 token mint 地址,相当于以太坊的代币地址。

mint

现在开始铸造代币,使用 spl-token mint -h 查看铸造的相关参数。

USAGE:
    spl-token mint [FLAGS] [OPTIONS] <TOKEN_MINT_ADDRESS> <TOKEN_AMOUNT> [--] [RECIPIENT_TOKEN_ACCOUNT_ADDRESS]

我们账户地址为 5NhLjdFKocoRMqic9sqAe5TxLagJCoCBunzg51ioMYot,现在想给这个地址铸造代币。

spl-token mint CSNbBCYXVcDj4U7YMV1otuL6xtAiaARDA6Zz3ApGUKFj 10000000 5NhLjdFKocoRMqic9sqAe5TxLagJCoCBunzg51ioMYot

会发现报错了。


Error: "Account 5NhLjdFKocoRMqic9sqAe5TxLagJCoCBunzg5...

剩余50%的内容购买后可查看

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
0xE
0xE
0x59f6...a17e
17年进入币圈,做过FHE,联盟链,现在是智能合约开发者。 刨根问底探链上真相,品味坎坷悟Web3人生。