随着区块链技术的飞速发展,去中心化金融(DeFi)和非同质化代币(NFT)的浪潮席卷全球,Solana(SOL)凭借其高速、低成本和强大的生态系统,成为了众多开发者和项目方眼中的香饽饽,许多人都梦想着能在Solana公链上发行自己的代币,本文将为你提供一份详尽的Solana公链发币教程,带你一步步从零开始,打造属于你自己的Solana代币。
为什么选择Solana公链发币?
在开始教程之前,我们先简要了解一下为什么Solana是发币的热门选择:
- 高性能:Solana采用独特的PoH(历史证明)共识机制,理论TPS(每秒交易次数)可达数万笔,交易确认速度极快。
- 低成本:交易费用极低,甚至在网络不拥堵时可以忽略不计,非常适合高频交易和小额代币发行。

- 强大的生态系统:Solana拥有丰富的DeFi、NFT、GameFi等应用生态,为代币的流通和应用提供了广阔的空间。
- 开发者友好:提供了完善的开发工具、文档和社区支持,降低了开发门槛。
Solana发币前准备
在动手之前,请确保你已经准备好以下几样东西:
- 一个Solana钱包:这是你与Solana网络交互的基础,推荐使用 Phantom 或 Solflare 这两款主流钱包,它们支持浏览器插件和移动端,操作便捷。
- SOL代币:你需要向钱包中转入一定数量的SOL,用于支付交易费用(燃料费)和创建代币账户。
- 基本的编程知识:虽然有些工具提供了无代码界面,但为了更好地理解过程和进行自定义,了解一些JavaScript/TypeScript和Rust(Solana主要开发语言)会很有帮助。
- 代码编辑器:如VS Code,用于编写和修改代码。
- Node.js和npm/yarn:Solana开发工具链需要Node.js环境。
Solana发币主要步骤
在Solana上发行代币主要有两种方式:使用第三方工具(无代码/低代码) 和 从零开始编写代码,对于初学者,推荐使用第三方工具;对于有开发经验的用户,可以尝试编写代码以获得更高的自定义性。
使用第三方工具(以“Solana Token Creator”等为例)
这种方式最为简单快捷,无需编写复杂代码。
-
选择并打开工具:
- 在浏览器中搜索“Solana Token Creator”或类似工具,选择一个信誉良好的平台(https://solana.tokencreator.com/ 或一些DEX交易所内置的发币功能)。
- 确保网站连接的是你正确的Solana网络(Mainnet-Beta主网或Devnet测试网)。
-
连接钱包:
点击“Connect Wallet”按钮,选择你之前安装的Phantom或Solflare钱包,并授权连接。
-
填写代币信息:
- 代币名称:My Awesome Token”。
- 代币符号:MAT”,通常为3-5个字符。
- 代币小数位数:Solana原生代币SOL的小数位数为9,大多数代币也会采用9位,表示最小单位为1亿分之一。
- 总供应量:你想要发行的总代币数量,注意,这是乘以小数位数后的实际数值,总供应量1亿,小数位数9,则实际为100000000 * 10^9 = 100000000000000000。
- 可选:代币元数据:如代币Logo图片URL(建议使用IPFS链接以确保去中心化)、网站描述、社交媒体链接等。
-
创建代币:
- 仔细检查所有信息无误后,点击“Create Token”或类似按钮。
- 你的钱包会弹出交易确认窗口,显示需要支付的燃料费。
- 确认交易,等待网络确认,一旦交易成功,你的代币就创建完成了!
-
获取代币地址:
- 创建成功后,工具会显示你新代币的Mint Address(铸造地址),这就是你代币的唯一标识符。
从零开始编写代码(使用Solana Web3.js)
这种方式需要一定的编程基础,但能让你完全掌控代币的创建过程。
-
环境搭建:
- 安装Node.js (LTS版本)。
- 在项目目录下初始化npm:
npm init -y - 安装Solana Web3.js库:
npm install @solana/web3.js @solana/spl-token
-
编写代码:
- 创建一个新的JavaScript文件(例如
create-token.js)。 - 引入必要的库:
const { Connection, PublicKey, Keypair, Transaction, SystemProgram, LAMPORTS_PER_SOL, } = require("@solana/web3.js"); const { getOrCreateAssociatedTokenAccount, transfer, TOKEN_PROGRAM_ID, createMint, getMint, mintTo, } = require("@solana/spl-token"); - 连接Solana网络:
const connection = new Connection("https://api.mainnet-beta.solana.com", "confirmed"); // 主网 // 测试网: "https://api.devnet.solana.com" - 设置钱包(支付者):
// 从私钥创建支付者密钥对(实际开发中应从安全的地方读取,如.env文件) const payerSecretKey = Uint8Array.from([...]); // 替换为你的私钥数组 const payer = Keypair.fromSecretKey(payerSecretKey);
- 创建Mint(代币铸造地址):
const mintAuthority = payer.publicKey; // 铸造权限 const freezeAuthority = payer.publicKey; // 冻结权限(可选) const decimals = 9; // 小数位数 const mint = await createMint( connection, payer, mintAuthority, freezeAuthority, decimals ); console.log("代币Mint地址:", mint.toBase58()); - (可选)获取代币信息:
const mintInfo = await getMint(connection, mint); console.log("代币信息:", mintInfo); - (可选)向指定地址铸币:
const recipientPublicKey = new PublicKey("接收者钱包地址"); // 替换为接收者地址 const amountToMint = 1000000 * 10 ** decimals; // 铸造数量,考虑小数位数
// 获取或创建接收者的代币账户 const recipientTokenAccount = await getOrCreateAssociatedTokenAccount( connection, payer, mint, recipientPublicKey );
// 铸造代币 await mintTo( connection, payer, mint, recipientTokenAccount.address, payer.publicKey, // 铸造权限所有者 amountToMint ); console.log(
已向 ${recipientPublicKey.toBase58()} 铸造 ${amountToMint / 10 ** decimals} 个代币); - 创建一个新的JavaScript文件(例如
-
运行代码:
- 在终端中运行:
node create-token.js - 确保钱包中有足够的SOL支付燃料费。
- 交易成功后,你将获得代币的Mint地址,并且可以向指定地址铸币。
- 在终端中运行:
发币后的重要步骤
-
验证代币:
- 你可以将代币Mint地址复制到Solana浏览器(如https://explorer.solana.com/)上查看代币信息。
- 可以将代币添加到你的Phantom钱包中:打开钱包 -> 点击“Tokens” -> “Add Token” -> 粘贴Mint地址。
-
流动性管理(可选):
- 如果希望代币能够交易,通常需要将其上架去中心化交易所(DEX),如Raydium、Jupiter等。
- 在DEX上创建流动性池,通常需要提供足够的代币和SOL作为初始流动性。
-
社区建设与推广:
代币本身不是目的,围绕代币的项目、社区和应用才是核心,制定清晰的路线图,积极建设社区,进行有效的推广。
注意事项与风险提示
- 安全第一:
妥善保管你的钱包私钥和助记词,切勿








