Skip to content
/ fmtbtc Public

Format and convert bitcoin's display units (msat, sat, bit, milli and btc)

Notifications You must be signed in to change notification settings

shesek/fmtbtc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fmtbtc

Format and convert bitcoin's display units (msat, sat, bit, milli and btc).

Operates on the numbers as strings using move-decimal-point (the only dependency), so that it doesn't require a library for arbitrary-precision arithmetic.

The browserify bundle (including the move-decimal-point dependency) weights 1,781 bytes when minified or 868 bytes when gzipped.

Install

$ npm install fmtbtc

Use

// common case: convert from satoshis to btc
import fmtbtc from 'fmtbtc'
fmtbtc(100000000) // => 1
fmtbtc(100000005000) // => 1000.0005

// pretty print with commas separator
fmtbtc(100000005000, true) // => 1,000.0005

// with other base/target units
import { msat2milli, milli2msat } from 'fmtbtc'
msat2milli(100000000) // => 1
milli2msat(1, true) // => 100,000,000

// with dynamic unit names via fmt()/pfmt()
import { fmt, pfmt } from 'fmtbtc'
fmt(1, 'milli', 'sat') // => 100000
pfmt(1, 'milli', 'sat') // => 100,000

Using the browserify bundle (available at dist/fmtbtc.bundle.min.js), which exposes the library at window.fmtbtc:

<script src="fmtbtc.bundle.min.js"></script>
<script>
fmtbtc(100000000) // => 1
fmtbtc.sat2milli(100000) // => 1
</script>

License

MIT