Что такое конвертер лампортов в SOL?
Конвертер лампортов в SOL делит целое число лампортов на 109, чтобы выразить его в SOL, и умножает на 109 для обратного перевода. Лампорт — наименьшая единица нативного токена Solana; каждый баланс, перевод и значение ренты, с которыми работают рантайм и JSON-RPC API, — это целое число лампортов, а SOL с 9 знаками — лишь то, как их показывают кошельки.
Таблица единиц Solana
| Единица | Лампорты | SOL | Где встречается |
|---|---|---|---|
| микролампорт | 0.000001 | 10-15 | цена priority fee за compute unit |
| лампорт | 1 | 0.000000001 | балансы RPC, данные инструкций, рента |
| SOL | 1 000 000 000 | 1 | кошельки, биржи |
Лампорты на практике
- Балансы:
getBalanceвозвращает{ "value": 1500000000 }для 1.5 SOL. - Переводы:
SystemProgram.transfer({ lamports: 100_000_000 })отправляет 0.1 SOL. В web3.js константаLAMPORTS_PER_SOLравна 1e9. - Рента:
getMinimumBalanceForRentExemption(size)возвращает лампорты; каждый аккаунт должен держать как минимум столько, чтобы сохраняться. - Priority fee: задаётся в микролампортах за compute unit; транзакция на 200 000 CU при 10 000 микролампортов/CU добавляет 2 000 000 000 микролампортов = 2 000 лампортов = 0.000002 SOL.
Почему не плавающая точка?
1e9 легко помещается в double, но балансы вроде 123 456 789 123 456 789 лампортов — нет: Number в JavaScript точен только до 253. Этот конвертер использует BigInt, поэтому очень крупные балансы казначейств конвертируются точно.
Пример
Кошелёк показывает 3.25 SOL. Баланс по RPC — 3.25 × 109 = 3 250 000 000 лампортов. После отправки 0.1 SOL на другой адрес и оплаты одной комиссии за подпись остаётся 3 250 000 000 − 100 000 000 − 5 000 = 3 149 995 000 лампортов, что кошелёк показывает как 3.149995 SOL. Хранение числа как целого исключает округление, когда оно позже умножается на цену или суммируется по многим аккаунтам.
Проверьте Solana-адрес в валидаторе Solana-адресов или создайте платёжный код в генераторе QR-кода Solana Pay.