Solanaプログラムのレント計算方法
執筆者 Daniel Idowu
Solanaブロックチェーン上でのプログラム実行は、トランザクションから始まります。ブロックチェーンは、トランザクションのデジタル台帳をネットワーク全体に複製・分散するコンピュータシステムのネットワークで構成されています。チェーン上の各ブロックは複数のトランザクションで構成されており、ブロックチェーン上で新しいトランザクションが発生するたびに、各参加者の台帳にそのコピーが配布されます。
これらのデータをそれぞれ個別のアカウントに保存するには費用がかかり、無料ではありません。この記事では、Solanaにおけるrentの概念と、その計算方法について解説します。
Solanaにおけるrentとは何か
rentとは、すべてのSolanaアカウントがブロックチェーン上にデータを保存するために支払う手数料であり、SOLの最小単位でマイクロペイメントに使われるLamportsで表されます。 rent手数料は、アカウントのストレージサイズに基づいて計算されます。rentが高いほど、保存されているデータ量も多くなります。
Solanaのノードクラスタはこのデータを常時維持する必要があるため、アカウント、ひいてはそのデータをブロックチェーン上で存続させるには、時間とスペースに基づいた手数料が必要になります。すべてのSolanaアカウントは、rent免除の対象となり、Solanaブロックチェーン上に存続し続けるために、十分なLamports残高を維持しなければなりません。Lamports残高が低いことが判明したアカウントは、ガベージコレクタによってネットワークから削除されます。
rent手数料はいつ徴収されるのか
rent手数料は通常、各エポックの終わりに徴収されます。エポックとは、リーダーバリデータがトランザクションのブロックを生成し続けられる期間のことです。Solana Explorerには、直近および前のエポックのデータが含まれています。rentは、トランザクションによってアカウントが参照された際にも支払われます。
各スロットの終了時に、アカウントが徴収したrentの一部は焼却され、残りはvoteアカウントに支払われます。アカウントがrentを支払うのに十分な残高を持っていない場合、そのアカウントは解放され、データは削除されます。また、新規作成されたアカウントはrent免除である必要がある点も重要です。
ネットワーク上のバリデータはこの状態のワーキングコピーをメモリ上に保持し続ける必要があるため、rentは非常に重要です。ネットワークはこのリソース消費に対して、時間とスペースに基づいた手数料を課します。これは、Solana上のアカウントが、アカウント残高(Account::lamports)とは別に、所有者が制御する状態(Account::data)を持つ場合があるためです。
Solanaプログラムのrentを計算する方法
Solana CLIのsolana rentコマンドを使えば、簡単にrentコストを見積もることができます。アカウントのサイズ(バイト単位)を入力することで、バイトあたり、エポックあたりのrentや、アカウントがrent免除となるために必要な最低金額を確認できます。
rentの規定により、アカウントのAccount::rent epochは現在のエポック、または現在のエポック+1となり、rentは1エポック分の期間について発生します。
アカウントがrent免除の対象である場合、Account::rent epochは単純に現在のエポックに調整されます。
アカウントがrent免除の対象でない場合、**Rent::due()**を用いて、そのアカウントがどれだけのrentを支払うべきかが決定されます。この計算は、次のエポックとAccount::rent epochの差に基づきます。以下の手順で、Solanaプログラムのrent価格を計算する方法を説明します。
ステップ1:新しいプログラムを作成する
まず、ターミナルを開き、cargoを使って新しいフォルダを作成します。ここにメインファイルを保存します。
src/mainを開き、こちらのコードスニペットに置き換えてください。
ステップ2:rentコストを計算する
ファイルサイズは906バイトになるはずです。以下を実行するだけでrentを計算できます。
以下のような結果が表示されます。

最後に、rentの徴収はバリデータへのrent分配のようなプロトコルレベルのアカウント変更に従って行われるため、rent控除に対応するトランザクションは存在しません。
したがって、rentの徴収は基本的に目に見えるものではなく、直近のトランザクションや、アカウントアドレスのプレフィックスによって指定されたタイミングを通じて、間接的に確認できるにすぎません。
Solanaのストレージ手数料を払い戻す方法
Solanaのストレージ手数料を取り戻すには、開発者や一般のSolanaユーザーはアカウントをクローズすることで、ストレージ手数料を返金してもらうことができます。Solanaのrent手数料を払い戻す最も簡単な方法は、**Sol Incinerator**のような使いやすいツールを使い、ウォレット内の未使用のプログラムアカウントをクローズすることです。
まとめ
rentコストは現在、ジェネシス時点で固定されていますが、将来的には基盤となるハードウェアストレージの現在のコストを反映して動的に変化するようになる予定です。したがって、技術が進歩しハードウェアコストが下がるにつれて、rent手数料のコストも下がっていくだろうと広く考えられています。
関連する概要
Solana2026年7月27日
Solanaノード:バリデーター、RPCノード、セルフホスティング
Solanaノードとは何か、バリデーター、RPCノード、セカンダリーデータシステムの違い、そしてセルフホストとプロバイダー利用をどう使い分けるか。
Solana2026年7月22日
Solanaアーカイブデータ: ブロックとトランザクションの全履歴をクエリする方法
Solanaアーカイブデータの解説: ノードが履歴をプルーニングする理由、アーカイブアクセスが必要なRPCメソッド、大規模にブロックとトランザクションの全履歴をクエリする方法。
Solana2026年5月28日
Solana Agent Kit vs GOAT vs ElizaOS:どのフレームワークを使うべきか?
Solana Agent Kit、GOAT、ElizaOSを比較:Solanaネイティブな深さ、マルチチェーンの広さ、フルエージェントランタイムのいずれかを選ぶ。コード例と意思決定フレームワークを掲載。

ブロックチェーンで魔法を生み出す
Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。