メインコンテンツへスキップ
このgetMinimumBalanceForRentExemption RPCメソッドを使用すると、特定のデータサイズのアカウントが家賃免除を受けるために必要な最低ラポート残高を計算できます。 Solanaでは、アカウントは長期間のストレージコストをカバーするために最低残高を維持する必要があります。この概念は”レント”として知られています。2年間の家賃支払いに相当する残高を保持しているアカウントは「家賃免除」と見なされ、その残高は家賃によって消耗されません。

一般的な使用例

  • アカウントの作成: 新しいアカウント(例:新しいトークンアカウント、プログラム派生アドレス、カスタムデータストレージ用)を作成する前に、このメソッドを使用して、最初から家賃免除にするために必要なラポートを決定します。これにより、残高が低くなりすぎた場合にアカウントがガベージコレクトされるのを防ぎます。
  • 動的アカウントサイズの調整: アプリケーションがデータサイズが成長する可能性のあるアカウントを扱う場合、このメソッドを使用して、家賃免除を維持するために追加のラポートが必要かどうかを定期的に確認できます。
  • コスト見積もり: さまざまなサイズのプログラムを展開したり、データアカウントを作成したりする際のSOLコストを見積もります。
  • ウォレットとSDKの統合: ウォレットとSDKはこれを使用して、新しいアカウントに適切に資金を提供できるようにします。

リクエストパラメータ

  1. dataLength (usize, 必須): アカウントのデータの長さ(バイト単位)。これは家賃免除の最小値を決定する主な要因です。
    • 例: 165(標準SPLトークンアカウントの場合)。
  2. commitment (object, 任意): クエリのコミットメントレベルを指定します。省略した場合、RPCノードのデフォルトコミットメントが使用されます。
    • フィールド:
      • commitment (string): 例:"finalized", "confirmed", または"processed"

レスポンス構造

JSON-RPCレスポンスのresultフィールドは、指定されたdataLengthを持つアカウントが家賃免除を受けるために必要なラポートの最低数を表すu64(符号なし64ビット整数)になります。

1. 標準トークンアカウント(165バイト)の家賃免除の取得

この例では、通常のSPLトークンアカウント(データサイズ165バイト)が家賃免除を受けるために必要な最低残高を照会します。

2. ゼロバイトアカウントの家賃免除の取得

これは、データがないアカウントの基本的な家賃免除を示しており、通常、どのアカウントにとっても絶対的な最小値です。

開発者向けヒント

  • データサイズごとに変化する家賃: アカウントのデータが大きくなるほど、家賃免除の最低額は高くなります。
  • ネットワークパラメータ: レントの基礎コスト(バイト年あたりのラポート)は、理論的にはクラスタの投票によって変更できるネットワークパラメータですが、これはまれです。getMinimumBalanceForRentExemptionメソッドは常にクラスタの状態に基づいて現在の値を返します。
  • ラポートとSOL: レスポンスはラポートで提供されます。1 SOL = 1,000,000,000 ラポートであることを忘れないでください。
  • 長期的な持続性に不可欠: アカウントが家賃免除されることを確認することは、Solanaブロックチェーン上でデータの長期的な持続性を確保するために重要です。
このガイドは、Solanaアプリケーションでアカウントレンタルを効果的に管理するためにgetMinimumBalanceForRentExemption RPCメソッドを理解し使用するのに役立ちます。