SPL是solana的代币协议,可以利用solana提供的 spl-token 在cli中创建代币。
创建不可替代币NFT 创建一个代币标识符 1 2 3 $ spl-token create-token --decimals 0 Creating token HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn Signature: 5cupXrNeMwwQukm2bMmAvX974wDxArt59fyLzMJiBKoRjECUbp5c7pUkVjTD2wDHcxGbANpZWSzCE5EpG4MXmfUL
使用唯一的代币标识符,来创建一个帐户,用来存储我们的余额数据 1 2 3 $ spl-token create-account HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn Creating account Dp9E1qHyJqbyB7e6DkFXg2EGBZ7aXigiPLJyeFVqeRFM Signature: 4X4zpiRm86PferJbJwZMHTigxxoJqrkJzbowBoA2uBYrqeVzf89n9R2tqRPzehzwKq9DMaXw4P9fnY99EWogGaU1
现在已经有了代币标识符 HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn 以及存储该代币余额数据的账号 Dp9E1qHyJqbyB7e6DkFXg2EGBZ7aXigiPLJyeFVqeRFM
接下来,铸造一些 SPL 代币到存储该余额数据的账号 1 2 3 4 5 $ spl-token mint HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn 1 Dp9E1qHyJqbyB7e6DkFXg2EGBZ7aXigiPLJyeFVqeRFM Minting 1 tokens Token: HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn Recipient: Dp9E1qHyJqbyB7e6DkFXg2EGBZ7aXigiPLJyeFVqeRFM Signature: G2bSFEfh6Zaf3WYJEMRmpxNcDKiGp8fcDZ2z1X9bS2rVceAV7XBUJSGH94UskX45YCUKDSRpGhzBekYfiDLGDza
禁用未来的铸币 1 2 3 4 5 6 $ spl-token authorize HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn mint --disable Updating HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn Current mint authority: GWDPdY44nxampYUBMmbcPNi1Gt4G2FGNpMwvyt24V5dU New mint authority: disabled Signature: 3jFuWQ2ohh7r64rHBz6uBXtcTDsAbyrLcjnADpAukRQuqPmEhzgYni3RVwZD4hUxLTnn39FLfrZCsvSCgzLuifFw
这样已铸造的SPL代币就变成了唯一的,就是NFT代币。
查看SPL代币供应数量 spl-token supply HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn
查看SPL代币可用数量 spl-token balance HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn
查看我所有的TOKEN 1 2 3 4 5 6 7 $ spl-token accounts Token Balance --------------------------------------------------------------- 3T2MdaZHbVNXTFei92p6qJPMJeDQ2JbTco88tvJqK78h 1 AVUdgQr2TwkhPDbV2pJnJco7jVi2kCGR4W3gxvrAbQ74 2 HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn 3
把NFT发送到我的钱包 我的钱包地址是 ESVZPUaonZZ6RUt8Yfo5zn3S1cz57V2aTTa455Rc5Kwq
比如把 HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn 这个NFT发送到我的钱包
1 2 3 4 5 6 7 8 9 10 11 $ spl-token transfer HgGNpW84e2UTyBE7JtT2GHWAiCSigzD6bTDWCZj9KmDn 1 ESVZPUaonZZ6RUt8Yfo5zn3S1cz57V2aTTa455Rc5Kwq --fund-recipient spl-token transfer <token-identifier> <token-amount> <wallet-address> --fund-recipient Transfer 1 tokens Sender: Dp9E1qHyJqbyB7e6DkFXg2EGBZ7aXigiPLJyeFVqeRFM Recipient: ESVZPUaonZZ6RUt8Yfo5zn3S1cz57V2aTTa455Rc5Kwq Recipient associated token account: Dx4bLJ92imQUBaWoKbExUqrNkhEiUA1djo23d29duz5A Funding recipient: Dx4bLJ92imQUBaWoKbExUqrNkhEiUA1djo23d29duz5A (0.00203928 SOL) Signature: 4AX38yvjapcQkAiRbsof9zkhEaGMfusHktnRn8o32Z3ZpptxNiqJ8rStpom5Yh4vYZAaDjX43uQ8oqruzXqhtFMD
然后打开浏览器的钱包,在收藏品里面就可以看到该NFT了。
但是没有图片、名称、描述等摘要。
solana常用命令 solana cli是与 Solana 网络交互的工具,安装见https://docs.solana.com/cli/install-solana-cli-tools
1 2 3 4 5 6 7 8 9 10 11 12 13 14 检查 Solana 集群配置 solana config get 检查 SOL 余额 solana balance 获得一些测试网 SOL solana airdrop 1 获取钱包地址 solana address 设置环境 solana config set --url https://api.devnet.solana.com
anchor常用命令 1 2 3 4 5 6 7 8 创建项目 anchor init solana-test 编译 anchor build 部署 anchor deploy
参考 https://moralis.io/how-to-create-a-solana-token-in-5-steps/ https://github.com/YosephKS/solana-spl-tutorial https://www.youtube.com/watch?v=IsTFNOedPkk