Solana凭借其高性能、低交易费用的特点,已成为区块链项目开发的热门选择,许多开发者和团队希望基于Solana发行自己的代币(Token),用于社区激励、DeFi协议或生态建设,本文将手把手教你从零开始,通过Solana官方工具和第三方平台,完成Sol币(Solana代币)的发行,涵盖环境搭建、代码编写、测试部署到主网上线全流程。
前置准备:环境与工具安装
在发币前,需完成以下基础环境配置:
钱包创建
- Solana钱包:下载官方钱包 Phantom(浏览器插件/移动端)或 Sollet,创建新钱包并保存助记词(切勿泄露)。
- 充值SOL:钱包中需至少保留0.5 SOL(主网)或0.1 SOL(测试网),用于支付交易手续费(gas fee)。
开发环境安装
- Node.js:推荐版本 ≥18.0(下载地址:nodejs.org)
- Solana CLI工具:终端运行以下命令安装:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
安装后验证:
solana --version(显示版本号即成功)。
配置Solana网络
- 测试网(推荐新手):
solana config set --url https://api.devnet.solana.com
- 主网:
solana config set --url https://api.mainnet-beta.solana.com
- 设置钱包为默认密钥对:
solana config set --keypair ~/.config/solana/id.json
选择发币方式:代码编写 vs 第三方工具
Solana代币发行主要有两种方式:通过代码自定义代币参数(适合开发者)或使用第三方平台一键发币(适合新手),以下分别介绍两种方法。
通过Solana CLI+ Rust/TypeScript代码自定义发币(开发者推荐)
步骤1:创建代币元数据(Metadata)
代币元数据包含名称、符号、描述、Logo等信息,是用户识别代币的关键,使用@solana/spl-token库(官方代币标准)创建:
-
初始化项目:
npm init -y npm install @solana/web3.js @solana/spl-token
-
编写创建代币脚本(create-token.js):
const { Connection, PublicKey, Keypair, Transaction, sendAndConfirmTransaction, clusterApiUrl, } = require("@solana/web3.js"); const { createMint, getMintLen, getAssociatedTokenAddress, createAssociatedTokenAccount, mintTo, } = require("@solana/spl-token"); async function createToken() { // 连接测试网 const connection = new Connection(clusterApiUrl("devnet"), "confirmed"); // 生成代币发行者密钥对(或使用已有钱包) const payer = Keypair.generate(); // 空投SOL用于手续费(仅测试网可用) const airdropSignature = await connection.requestAirdrop( payer.publicKey, 2 * 1e9 // 2 SOL ); await connection.confirmTransaction(airdropSignature); // 创建代币(参数:发行者、 decimals、decimals为代币精度,如6表示支持6位小数) const mint = await createMint( connection, payer, payer.publicKey, payer.publicKey, 6 ); console.log("代币Mint地址:", mint.toBase58()); // 创建代币关联账户(用于存储代币) const tokenAccount = await getAssociatedTokenAddress( mint, payer.publicKey ); await createAssociatedTokenAccount( connection, payer, mint, payer.publicKey ); // 铸造代币(参数:代币Mint、关联账户、数量、发行者) await mintTo( connection, payer, mint, tokenAccount, payer, 1e8 // 铸造100万代币(6位精度,实际为1*10^8) ); console.log("代币铸造成功!"); } createToken();
-
运行脚本:
node create-token.js
成功后,终端会输出代币的Mint地址(类似"9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"),可在Phantom钱包中添加查看。
步骤2:创建代币元数据(扩展)
上述步骤仅创建代币核心功能,需额外调用Metaplex程序添加元数据(名称、符号、Logo等),可使用@metaplex-foundation/js库简化操作,具体流程可参考Metaplex官方文档。
第三方平台一键发币(新手推荐)
对于不熟悉代码的用户,可通过第三方工具快速发币,代表平台包括:
-
Solscan Token Creator(solscan.io/token-creator)
- 优点:界面简洁,支持自定义代币名称、符号、精度、初始供应量,自动生成元数据。
- 步骤:
- 连接Phantom钱包;
- 填写代币信息(名称:My Token,符号:MTK,精度:6,初始供应量:1000000);
- 确认支付0.005 SOL手续费(测试网免费);
- 签名交易,生成代币地址。
-
Raydium Token Generator(raydium.io/liquidity)
- 优点:支持直接在Raydium去中心化交易所(DEX)添加流动性,发币后可立即交易。
- 步骤:类似Solscan,需额外设置流动性池参数(如LP代币比例)。
测试网与主网部署:验证与上线
测试网验证
- 在测试网完成发币后,使用Solscan测试网(solscan.com/devnet)搜索代币Mint地址,确认代币信息、供应量是否正确。
- 可通过测试网水龙头(如faucet.solana.com)免费获取测试网SOL,避免真实资金消耗。
主网正式上线
- 确认测试网流程无误后,切换Solana CLI配置至主网(
solana config set --url https://api.mainnet-beta.solana.com)。 - 重复上述发币步骤,主网需使用真实SOL支付手续费(约0.000005 SOL/笔)。
- 上线后,代币信息将同步至Solscan主网(solscan.com),用户可通过钱包地址添加代币。
发币后关键操作:安全与推广
安全措施
- 备份密钥:妥善保存钱包助记词和私钥,避免丢失或泄露。
- 权限控制:若为团队项目,可通过多签钱包管理代币权限(如铸造权限、冻结权限)。
- 代码审计:若通过代码发币,建议对智能合约进行安全审计,避免漏洞(如重入攻击、整数溢出)。
代币推广与应用
- 交易所上架:联系去中心化交易所(如Raydium、Jupiter)或中心化交易所(如Binance、KuCoin),提交代币信息申请上架。
- 社区运营:通过Twitter、Discord等社区平台宣传代币用途(如治理代币、奖励代币),吸引用户参与。
- 生态整合:将代币接入DeFi协议(如借贷、质押)或NFT市场,提升代币实用性和流动性。