Convert XNO Units
Convert between different XNO cryptocurrency units with BigInt precision. XNO uses 30 decimal places, making floating-point arithmetic unsafe. Always use this skill for accurate conversions.
Unit Reference
Unit Raw Value Decimal Places Description
raw 1 0 Smallest unit (base unit)
mnano 10^24 24 Mega-nano (0.000001 XNO)
knano 10^27 27 Kilonano (0.001 XNO)
XNO 10^30 30 Base unit (1 XNO)
Conversion Factors
1 XNO = 1,000 knano = 1,000,000 mnano = 10^30 raw 1 knano = 1,000 mnano = 10^27 raw 1 mnano = 10^24 raw
CLI Usage
Basic Syntax
npx xno-skills convert <amount> <from-unit> --to <to-unit>
Examples
Convert XNO to raw
npx xno-skills convert 1 XNO --to raw
Output: 1000000000000000000000000000000
npx xno-skills convert 0.5 XNO --to raw
Output: 500000000000000000000000000000
Convert raw to XNO
npx xno-skills convert 1000000000000000000000000000000 raw --to XNO
Output: 1
npx xno-skills convert 500000000000000000000000000000 raw --to XNO
Output: 0.5
Convert XNO to knano
npx xno-skills convert 1 XNO --to knano
Output: 1000
npx xno-skills convert 0.001 XNO --to knano
Output: 1
Convert knano to XNO
npx xno-skills convert 1000 knano --to XNO
Output: 1
npx xno-skills convert 1 knano --to XNO
Output: 0.001
Convert XNO to mnano
npx xno-skills convert 1 XNO --to mnano
Output: 1000000
npx xno-skills convert 0.000001 XNO --to mnano
Output: 1
Convert mnano to XNO
npx xno-skills convert 1000000 mnano --to XNO
Output: 1
npx xno-skills convert 1 mnano --to XNO
Output: 0.000001
Convert between knano and mnano
npx xno-skills convert 1000 knano --to mnano
Output: 1000000
npx xno-skills convert 1 mnano --to knano
Output: 0.001
Precision Handling
Why BigInt?
XNO uses 30 decimal places, which exceeds JavaScript's safe integer limit (15-17 digits). Floating-point arithmetic causes precision loss:
// WRONG - Floating point loses precision const wrong = 0.1 + 0.2; // 0.30000000000000004
// RIGHT - BigInt maintains precision const correct = BigInt("1000000000000000000000000000000");
Implementation Notes
-
All conversions use BigInt internally - No floating-point operations
-
Input parsing - Decimal strings converted to BigInt raw units
-
Output formatting - BigInt raw units converted to requested unit
-
No precision loss - Exact conversions for any amount
Common Precision Pitfalls
// DON'T use Number for XNO amounts const wrong = 1.5; // Loses precision at 30 decimals
// DO use string input for CLI // npx xno-skills convert "1.5" XNO --to raw
Common Use Cases
Wallet Balance Display
Convert raw balance to human-readable XNO
npx xno-skills convert 500000000000000000000000000000 raw --to XNO
Output: 0.5
Convert to knano for smaller display
npx xno-skills convert 500000000000000000000000000000 raw --to knano
Output: 500
Transaction Amounts
Send 0.001 XNO
npx xno-skills convert 0.001 XNO --to raw
Output: 1000000000000000000000000000
Send 1 knano
npx xno-skills convert 1 knano --to raw
Output: 1000000000000000000000000000
Fee Calculations
Calculate fee in raw (e.g., 0.000001 XNO fee)
npx xno-skills convert 0.000001 XNO --to raw
Output: 1000000000000000000000000
Convert fee to mnano
npx xno-skills convert 0.000001 XNO --to mnano
Output: 1
Large Amounts
Convert 1 million XNO to raw
npx xno-skills convert 1000000 XNO --to raw
Output: 1000000000000000000000000000000000000
Convert large raw amount to XNO
npx xno-skills convert 1000000000000000000000000000000000000 raw --to XNO
Output: 1000000
Validation
Input Validation
-
Amount must be a valid number (integer or decimal)
-
Unit must be one of: raw , XNO , knano , mnano
-
Negative amounts are supported
Error Handling
Invalid unit
npx xno-skills convert 1 XNO --to bitcoin
Error: Unknown unit 'bitcoin'. Valid units: raw, XNO, knano, mnano
Invalid amount
npx xno-skills convert abc XNO --to raw
Error: Invalid amount 'abc'. Must be a valid number.
Quick Reference
Most common conversions
npx xno-skills convert 1 XNO --to raw # 10^30 raw npx xno-skills convert 1 XNO --to knano # 1000 knano npx xno-skills convert 1 XNO --to mnano # 1000000 mnano npx xno-skills convert 1 knano --to XNO # 0.001 XNO npx xno-skills convert 1 mnano --to XNO # 0.000001 XNO npx xno-skills convert 1 raw --to XNO # 0.000000000000000000000000000001 XNO
Related Skills
-
create-wallet - Generate XNO wallet with seed phrase
-
validate-address - Validate XNO addresses (BIP-44, legacy)