创建新项目并初始化npm
Sol发币流程详解:从零构建你的Solana生态代币
在Solana公链上发行代币(俗称“发币”)是当前Web3项目方、创作者和社区的热门选择,Solana凭借其高吞吐量(约65,000 TPS)、低交易成本(通常低于0.0001 SOL)和快速确认时间(约400ms),为代币发行提供了高效、低成本的基础设施,本文将详细介绍Solana代币发行的完整流程,从技术准备到上线推广,助你轻松构建自己的Solana生态代币。

前期准备:明确目标与工具选择
在发行代币前,需明确代币的核心属性与功能,
- 代币类型:普通 fungible token(FT,同质化代币,如USDC)、NFT(非同质化代币)还是SPL Token Program的其他扩展类型?
- 代币用途:社区治理、支付媒介、权益凭证还是生态激励?
- 总量与分配:固定总量还是通胀/通缩模型?早期分配给团队、投资人还是社区空投?
需准备以下工具与环境:
- 钱包:安装Solana官方钱包Phantom(浏览器插件/移动端)或Solflare,用于创建钱包、管理私钥及支付网络费用。
- 开发环境:安装Node.js(建议v16 )、Solana CLI(命令行工具)或使用第三方平台(如Step Finance、Solscan的Token Generator)。
- 测试网资源:在Solana测试网(Testnet)上调试时,可通过水龙头(如https://faucet.solana.com)获取测试用SOL。
技术实现:两种主流发行路径
Solana代币发行主要通过两种方式实现:代码级自主开发(适合有技术能力的团队)和第三方平台一键发行(适合新手或快速启动),以下是两种路径的详细步骤:
代码级自主开发(基于SPL Token Program)
Solana的代币标准基于SPL Token Program(类似以太坊的ERC-20),官方提供了Rust和TypeScript/JavaScript的SDK支持,以下是TypeScript开发流程(以Windows/Linux环境为例):
初始化项目与依赖安装
npm init -y # 安装Solana Web3.js SDK npm install @solana/web3.js @solana/spl-token
连接Solana网络
Solana网络分为主网(Mainnet-Beta)、测试网(Testnet)和开发网(Devnet),开发阶段建议优先使用测试网,配置网络连接:

import { Connection, clusterApiUrl, Keypair } from '@solana/web3.js';
// 连接测试网
const connection = new Connection(clusterApiUrl('testnet'), 'confirmed');
创建代币 mint 账户
“Mint账户”是代币的“总发行账户”,用于控制代币总量和铸造/销毁,通过Keypair.generate()生成新密钥对,或使用已有钱包的私钥导入:
import { createMint } from '@solana/spl-token';
// 生成新mint密钥对(或从已有私钥恢复)
const mintKeypair = Keypair.generate();
// 在测试网创建mint账户(需支付0.001 SOL左右网络费)
const mint = await createMint(
connection,
mintKeypair, // mint账户密钥对
payer, // 支付网络费的payer钱包(需包含测试SOL)
null, // 可选:代币冻结权限账户,null表示无冻结权限
9 // 代币小数位数(如9类似USDC,表示1代币=10^9基础单位)
);
创建代币账户并铸造代币
代币账户(Token Account)是用户持有代币的“钱包地址”,需为每个接收者单独创建,为当前钱包创建代币账户并铸造初始代币:
import { getOrCreateAssociatedTokenAccount, mintTo } from '@solana/spl-token';
// 获取payer的代币账户(若不存在则自动创建)
const tokenAccount = await getOrCreateAssociatedTokenAccount(
connection,
payer, // 支付网络费的payer
mint, // 代币mint地址
payer.publicKey // 代币账户所有者
);
// 铸造100万个代币(小数位9,实际铸造1000000 * 10^9基础单位)
await mintTo(
connection,
payer,
mint,
tokenAccount.address,
payer.publicKey,
1000000 * 10**9
);
验证代币信息
通过Solscan(https://solscan.io)或Solflare Explorer输入mint地址,即可查看代币名称(Symbol)、总量、小数位数等信息(需后续通过元数据设置补充)。
第三方平台一键发行(无代码/低代码)
对于无开发经验的项目方,可使用第三方工具快速发行代币,推荐以下平台:
- Solscan Token Generator(https://solscan.io/token):输入代币名称、Symbol、总量、小数位数等信息,自动生成mint地址和代币账户,支持直接连接钱包支付网络费。
- Step Finance(https://step.finance):提供“Create Token”功能,集成代币初始分配(如团队钱包、社区空投)和流动性池创建流程。
- Raydium(https://raydium.io):在创建代币时可直接关联Raydium DLP(去中心化流动性池),实现代币发行与上一步骤。
操作流程以Solscan为例:

- 访问Solscan Token Generator,连接Phantom钱包;
- 填写代币信息:Token Name(如“Project Token”)、Symbol(如“PT”)、Total Supply(如1,000,000,000)、Decimals(如9);
- 确认网络费用(约0.001 SOL),点击“Create Token”,钱包弹出签名请求;
- 签名成功后,生成代币mint地址,自动关联至当前钱包的代币账户。
元数据配置:提升代币可读性与信任度
SPL Token Program本身不包含代币名称、Logo等元数据,需通过扩展程序(如Metaplex Token Metadata Program)补充,否则代币在钱包中仅显示为“Unknown Token”。
配置元数据的两种方式:
使用Metaplex Candy Machine(适合批量发行/NFT)
Metaplex是Solana生态的去中心化NFT发行协议,其Candy Machine工具也可用于代币元数据配置:
- 安装Metaplex CLI:
npm install -g @metaplex-foundation/js@latest - 初始化项目:
candy-machine-v2 init - 上传代币Logo(PNG/JPG,最大10MB)和描述信息,生成元数据JSON文件。
手动调用Metadata Program API(适合普通代币)
通过Metaplex的SDK手动设置元数据:
import { createMetadataAccountV3 } from '@metaplex-foundation/js';
await createMetadataAccountV3(
connection,
payer,
{
mint, // 代币mint地址
mintAuthority: payer.publicKey, // mint权限所有者
name: 'Project Token', // 代币全名
symbol: 'PT', // 代币Symbol
uri: 'https://your-metadata.json', // 元数据JSON链接(需托管如IPFS或Arweave)
sellerFeeBasisPoints: 0, // 手续费比例(0-10000,10000=100%)
}
);
元数据JSON示例:
{
"name": "Project Token",
"symbol": "PT",
"description": "A community-driven token for Solana ecosystem.",
"image": "https://ipfs.io/ipfs/QmYourImageHash",
"external_url": "https://yourproject.com"
}
上线与推广:让代币进入流通生态
代币发行后,需通过以下步骤实现流通与社区建设:
上去中心化交易所(DEX)
Solana主流DEX包括Raydium、Orca、Jupiter等,需为代币创建流动性池:
- Raydium:访问https://raydium.io/swap,点击“Create New Pool”,输入代币mint地址和SOL/稳定币,设置初始流动性价格及池子权重。
- Orca:通过Orca官网或SDK创建集中流动性池
本文 原创,转载保留链接!网址:https://licai.bangqike.com/bixun/1315339.html
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。






