Lamports→SOL変換ツール

SolanaのRPCレスポンス、rent計算、プログラムログはすべてlamports単位です。丸め誤差なしにSOLとの間で変換できます。

ブラウザ内のJavaScriptで変換します。アドレスがアップロードや保存されることはありません。

Lamports→SOL変換ツールとは

Lamports→SOL変換ツールは、整数のlamport数を109で割ってSOLで表し、109を掛けて元に戻します。lamportはSolanaのネイティブトークンの最小単位です。ランタイムとJSON-RPC APIが扱うすべての残高、送金、rentの数値はlamportの整数であり、小数9桁のSOLはウォレットの表示形式にすぎません。

Solana単位の一覧表

単位LamportsSOL登場する場面
micro-lamport0.00000110-15コンピュートユニットあたりのプライオリティフィー価格
lamport10.000000001RPCの残高、インストラクションデータ、rent
SOL1,000,000,0001ウォレット、取引所

実際のlamports

浮動小数点を使わない理由

1e9はdoubleに余裕で収まりますが、123,456,789,123,456,789 lamportsのような残高は収まりません。JavaScriptの Number は253までしか正確ではないからです。この変換ツールはBigIntを使うため、非常に大きなトレジャリー残高も正確に変換できます。

計算例

ウォレットに3.25 SOLと表示されています。RPCの残高は3.25 × 109 = 3,250,000,000 lamportsです。別のアドレスに0.1 SOLを送り、署名1つ分の手数料を払うと、3,250,000,000 − 100,000,000 − 5,000 = 3,149,995,000 lamportsが残り、ウォレットは3.149995 SOLと表示します。数値を整数のままにしておけば、後で価格を掛けたり多数のアカウントを合計したりする際の丸めを避けられます。

Solanaアドレス検証ツールでSolanaアドレスを検証するか、Solana Pay QRジェネレーターで決済コードを作成してください。

よくある質問

1 SOLは何lamportsですか?

1,000,000,000(109)です。1 lamportは0.000000001 SOLで、分散システムの研究者Leslie Lamportにちなんで名付けられました。

なぜ残高がlamportsで表示されるのですか?

JSON-RPC API(getBalance、getAccountInfo)は精度が失われないようlamportsの整数を返します。ウォレットは表示のために109で割っています。

SolanaのrentはSOLでいくらですか?

基本的なアカウントのrent免除は約890,880 lamports、およそ0.00089 SOLです。トークンアカウントには約2,039,280 lamports、およそ0.002 SOLが必要です。RPC出力のlamport値を貼り付ければ、正確なSOLの値が分かります。

Solanaの一般的なトランザクション手数料は?

署名1つあたり5,000 lamports(0.000005 SOL)に加え、コンピュートユニットあたりのmicro-lamportsで測る任意のプライオリティフィーです。1,000,000 micro-lamports = 1 lamportです。

コードでlamportsをSOLに変換するには?

@solana/web3.jsでは LAMPORTS_PER_SOL(1,000,000,000)で割るか、正確な結果のために整数除算と9桁の剰余を使います。Rustでは solana_sdk::native_token::lamports_to_sol がf64を返すため、会計処理ではlamportsをu64のまま保持してください。

SPLトークンもlamportsを使いますか?

いいえ。各SPLトークンはミントアカウントに独自のdecimalsフィールドを持ちます(USDCは6、多くのトークンは6~9)。それらにはトークン小数桁数変換ツールをお使いください。