Lamports → SOL 변환기란?
Lamports → SOL 변환기는 정수 lamport 수를 109로 나눠 SOL로 나타내고, 109를 곱해 되돌립니다. lamport는 Solana 네이티브 토큰의 최소 단위입니다. 런타임과 JSON-RPC API가 다루는 모든 잔액, 전송, 렌트 수치는 정수 lamports이며, 9자리 소수의 SOL은 지갑이 표시하는 방식일 뿐입니다.
Solana 단위 표
| 단위 | Lamports | SOL | 만나는 곳 |
|---|---|---|---|
| micro-lamport | 0.000001 | 10-15 | 컴퓨트 유닛당 우선 수수료 가격 |
| lamport | 1 | 0.000000001 | RPC 잔액, 인스트럭션 데이터, 렌트 |
| SOL | 1,000,000,000 | 1 | 지갑, 거래소 |
실제 lamports 사용
- 잔액:
getBalance는 1.5 SOL에 대해{ "value": 1500000000 }을 반환합니다. - 전송:
SystemProgram.transfer({ lamports: 100_000_000 })는 0.1 SOL을 보냅니다. web3.js의 상수LAMPORTS_PER_SOL은 1e9입니다. - 렌트:
getMinimumBalanceForRentExemption(size)는 lamports를 반환합니다. 모든 계정은 유지되려면 최소 그만큼을 보유해야 합니다. - 우선 수수료: 컴퓨트 유닛당 micro-lamports로 설정합니다. 200,000 CU 트랜잭션에 10,000 micro-lamports/CU면 2,000,000,000 micro-lamports = 2,000 lamports = 0.000002 SOL이 추가됩니다.
왜 부동소수점을 쓰지 않나요?
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을 보내고 서명 수수료 하나를 내면 3,250,000,000 − 100,000,000 − 5,000 = 3,149,995,000 lamports가 남고, 지갑은 이를 3.149995 SOL로 표시합니다. 수치를 정수로 유지하면 나중에 가격을 곱하거나 여러 계정에 걸쳐 합산할 때 반올림을 피할 수 있습니다.
Solana 주소 검증기로 Solana 주소를 검증하거나 Solana Pay QR 생성기로 결제 코드를 만드세요.