Solana 一括送金(devnet)

Phantom、Solflare、Backpack を接続してアドレスと金額を貼り付けると、ページが送金をトランザクションにまとめ、不足しているトークンアカウントを作成し、ウォレットに一括で署名を求めます。

トランザクションはお使いのウォレットで署名されます。このページにはサーバーがなく、鍵を保持せず、手数料も取りません。テストネット専用。メインネット: 。

Solana 一括送金とは

Solana 一括送金は、多数の System Program または SPL Token の送金命令を、1232 バイトのパケット制限に収まる範囲でできるだけ少数のトランザクションに詰め込み、ウォレットにそれらすべてへの一括署名を求めます。コントラクトのデプロイは不要です。ランタイムはトランザクション内のすべての命令をアトミックに実行するため、各トランザクションは全受取先に支払うか、まったく支払わないかのどちらかです。このページは devnet でのみ動作します。

手順

  1. ウォレットを接続します。devnet 残高が空なら「エアドロップ」を押してください(公開フォーセットにはレート制限があります。faucet.solana.com が代替手段です)。
  2. SOL を選ぶか、devnet の mint アドレスを貼り付けます。小数桁と残高は mint とあなたのトークンアカウントから読み取ります。
  3. 受取先を貼り付けてサマリーを確認します。署名前に、トランザクション数と新規トークンアカウント数が表示されます。
  4. 最大 10 トランザクションのグループごとに 1 回署名します。ログにはすべての署名がエクスプローラーリンク付きで表示され、最後に CSV をエクスポートできます。

トランザクションの構築方法

SOL 送金は SystemProgram の transfer 命令を使います。トークン送金は mint の小数桁を指定した TransferChecked を使うため、小数桁が間違っていても誤った金額が送られるのではなくオンチェーンで失敗します。トークンアカウントは Associated Token Account 命令の冪等版で作成され、再実行しても安全です。コードはこれらの命令を直接組み立てており、spl-token ライブラリに依存しません。

制限と失敗時の処理

トランザクションは順番に送信・確認されます。1 つが失敗した場合(期限切れの blockhash、残高不足、RPC エラー)、実行は停止し、失敗した受取先が結果テーブルにマークされ、残りの行だけで再実行できます。既に確認済みの送金がページによって繰り返されることはありません。

関連: Solana アドレスバリデーターでアドレスを確認、lamports コンバーターで金額を変換。

よくある質問

ウォレットを devnet に切り替える必要がありますか?

ページは常に devnet の RPC と通信するため、ウォレットの表示設定にかかわらずトランザクションは devnet 上で構築・送信されます。残高を表示し、Phantom のシミュレーション警告を避けるには、設定 → 開発者設定でテストネットモードを有効にしてください。

受取先にトークンアカウントがない場合はどうなりますか?

ページは事前にすべての受取先の Associated Token Account を確認し、必要な箇所に冪等な作成命令を追加します。レント(1 件あたり約 0.002 SOL)はあなたが支払います。既にそのトークンを保有している受取先には追加費用はかかりません。

トランザクションはどう分割されますか?

Solana のトランザクションは 1232 バイトに制限されています。新しい受取先ごとに 32 バイトのアカウントと数バイトの命令が追加されるため、ページは 1 トランザクションあたり SOL 送金 18 件またはトークン送金 8 件を詰め込み、blockhash の有効期間内に収まるよう 10 件ずつのグループで署名します。

プログラム派生アドレス(PDA)に送れますか?

SOL なら可能です。トークンの場合、Associated Token Account は受取先がカーブ上にあるかどうかにかかわらず受取先から導出されます。これは取引所やプログラムが期待する動作です。

サマリーのトランザクション数が予想より多いのはなぜですか?

受取先ごとにアカウントリストへ 32 バイトの公開鍵と命令が追加され、Associated Token Account のないトークン受取先には追加の作成命令とアカウントが必要です。ページは各トランザクションが 1232 バイト未満にシリアライズされるようサイズを決めるため、トークンのバッチは SOL のバッチより小さくなります。

Token-2022 はどうですか?

対応しています。ページは mint を所有するプログラムを読み取り、送金命令とアカウント作成命令に使います。transfer hook や手数料のある mint は追加のアカウントが必要になる場合があり、対応していません。