Solana批量转账教程:提高代币持有地址和生态用户空投代币

更新於 發佈於 閱讀時間約 8 分鐘

前言

Solana区块链因其高吞吐量和低交易费用成为批量操作(如空投)的理想选择。本教程将介绍几种在Solana上进行批量转账的方法,帮助您高效地向多个地址空投代币。


solana 账户模型

在Solana中有三类账户:

数据账户,用来存储数据

程序账户,用来存储可执行程序

原生账户,指Solana上的原生程序,例如”System”,”Stake”,以及”Vote”。

数据账户又分为两类:


系统所有账户

程序派生账户(PDA)

我们通常使用的钱包地址属于数据帐户中的系统所有帐户,我们可以通过自己私钥签名,系统验证签名是否正确,签名正确就可以访问账户,比如转账,调用合约。


solana账户租金

solana经济模型中,建立代币账户需要给向链支付一定的租金,用户也可以关闭自己地址下的某个代币账户来回收租金,回收时需要注意代币资产为 0,不然会损失资产。


当一个solana地址在接受某个代币时,地址下面必须有创建好的 代币账户,用来存储代币信息、余额等资料。如果接收方没有,发送发可以为接收方建立一个代币账户。


Solana 上的租金存储费用为每字节0.00000348 SOL,钱包数据大小为 586 字节,需要支付租金 0.002 SOL 左右。


方法一:使用Solana CLI工具

准备工作

1.安装Solana CLI工具


sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

2.配置钱包


solana config set --url https://api.mainnet-beta.solana.com

solana config set --keypair ~/.config/solana/id.json

批量转账脚本

#!/bin/bash

# 接收地址文件格式:每行一个地址和金额,用空格分隔

INPUT_FILE="recipients.txt"

FROM_KEYPAIR="~/.config/solana/id.json"

TOKEN_MINT="代币的MINT地址"

while read -r line; do

recipient=$(echo $line | awk '{print $1}')

amount=$(echo $line | awk '{print $2}')

spl-token transfer --fund-recipient \

--from $FROM_KEYPAIR \

$TOKEN_MINT $amount $recipient

sleep 1 # 避免速率限制

done < "$INPUT_FILE"

方法二:使用JavaScript SDK

安装依赖

npm install @solana/web3.js @solana/spl-token

批量转账代码示例

const { Connection, Keypair, PublicKey } = require('@solana/web3.js');

const { Token, TOKEN_PROGRAM_ID } = require('@solana/spl-token');

const connection = new Connection('https://api.mainnet-beta.solana.com');

const fromWallet = Keypair.fromSecretKey(Uint8Array.from(/* 你的私钥 */));

const tokenMint = new PublicKey('代币MINT地址');

async function bulkTransfer() {

const token = new Token(connection, tokenMint, TOKEN_PROGRAM_ID, fromWallet);

const fromTokenAccount = await token.getOrCreateAssociatedAccountInfo(fromWallet.publicKey);

const recipients = [

{ address: '地址1', amount: 100 },

{ address: '地址2', amount: 200 },

// 更多地址...

];

for (const recipient of recipients) {

try {

const toPublicKey = new PublicKey(recipient.address);

const toTokenAccount = await token.getOrCreateAssociatedAccountInfo(toPublicKey);

const transactionId = await token.transfer(

fromTokenAccount.address,

toTokenAccount.address,

fromWallet,

[],

recipient.amount

);

console.log(`Transferred ${recipient.amount} to ${recipient.address}: ${transactionId}`);

await new Promise(resolve => setTimeout(resolve, 500)); // 延迟避免速率限制

} catch (error) {

console.error(`Error transferring to ${recipient.address}:`, error);

}

}

}

bulkTransfer();

方法三:使用第三方工具

GTokenTool批量转账空投工具 — 具有自动去重功能,市面上最好用的批量转账/空投工具。


下面详细的介绍如何无编程的使用工具来进行批量转账,SlerfTools 是全网最便宜、快速、便捷的 Solana一键工具箱,支持发币、创建 openbook 市场 ID、创建Raydium流动性、移除流动性、批量交易等。


1、首先打开 GTokenTool批量转账页面:https://sol.gtokentool.com/zh-CN/batchTool/batchTransfer/SOL

raw-image

2、链接钱包后,填入代币地址和收款地址列表,收款地址列表也可以通过上传文件来完成。

raw-image

3、点击发送交易后,转账成功:

raw-image


需要注意的是,GTokenTool 为了节省上链费用和加快上链速度,每一批转账都是汇总在一笔交易里面。由于 Solana 为了加快节点之间数据传输速度,每一笔交易都限制在 1232 个字节内,其大小限制在 ipv6 一个MTU传输单元内。因此每一批转账数量需要有所限制。


如有不明白或者不清楚的地方,请加入官方电报群:https://t.me/gtokentool

留言
avatar-img
留言分享你的想法!
avatar-img
d joker的沙龍
0會員
185內容數
d joker的沙龍的其他內容
2025/05/06
加密货币世界蓬勃发展,源于创新和创造力,通常还不乏幽默元素。Boop.fun 是该领域的新秀,它在 Solana 区块链上提供了一个 memecoin 启动平台。Boop.fun 由著名的 NFT 爱好者 dingaling 于 2025 年 5 月推出,允许用户创建自己的 memecoin(戏称为
Thumbnail
2025/05/06
加密货币世界蓬勃发展,源于创新和创造力,通常还不乏幽默元素。Boop.fun 是该领域的新秀,它在 Solana 区块链上提供了一个 memecoin 启动平台。Boop.fun 由著名的 NFT 爱好者 dingaling 于 2025 年 5 月推出,允许用户创建自己的 memecoin(戏称为
Thumbnail
2025/04/30
What is Raydium LaunchLab? Raydium, a leading decentralized exchange (DEX) on Solana, launched LaunchLab in April 2025—a game-changing platform for t
Thumbnail
2025/04/30
What is Raydium LaunchLab? Raydium, a leading decentralized exchange (DEX) on Solana, launched LaunchLab in April 2025—a game-changing platform for t
Thumbnail
2025/04/29
在DeFi领域快速演进的当下,GTokenTool通过技术创新和用户友好设计解决了代币开发的核心痛点,成为跨链代币部署的领导者。 1. 极简操作,零代码需求 一键发币:用户无需编写智能合约代码,通过可视化界面选择代币参数(如名称、总量、通缩机制等),几分钟即可部署代币。 多链支持:通常支持
Thumbnail
2025/04/29
在DeFi领域快速演进的当下,GTokenTool通过技术创新和用户友好设计解决了代币开发的核心痛点,成为跨链代币部署的领导者。 1. 极简操作,零代码需求 一键发币:用户无需编写智能合约代码,通过可视化界面选择代币参数(如名称、总量、通缩机制等),几分钟即可部署代币。 多链支持:通常支持
Thumbnail
看更多