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)