Node.js で BTC の単位変換する satoshi-bitcoin
はじめに
Node.js で BTC の単位変換(1 BTC = 100,000,000 Satoshi)を正確に行う方法を調べた。
TL;DR
- Node.js で BTC の単位変換をするには
satoshi-bitcoin
パッケージを使う toSatochi
で BTC → satoshitoBitcoin
で BTC ← satoshi
目的・やったこと
通常、整数型と浮動小数点数との変換には、丸め誤差による影響が出てくる。BTC の単位変換を行う際に、正確に変換する方法を調べた。
目次
環境・条件
1 | $ sw_vers |
詳細
インストール
1 | $ npm install satoshi-bitcoin |
BTC → Satoshi
BTC から Satoshi への変換は toSatoshi
メソッド。数値でも文字列でも OK。
1 | const sb = require('satoshi-bitcoin'); |
BTC ← Satoshi
Satoshi から BTC への変換は toBitcoin
メソッド。数値でも文字列でも OK。
1 | const sb = require('satoshi-bitcoin'); |
ただし ,
で区切ってあると TypeError
になるので、replace
などで除去すること。
1 | sb.toBitcoin("150,000,000"); |
おまけ
すごく雑な実験だけど、自力でやろうと思うとこんな状況になるので、おとなしくパッケージ利用した方が良い。
1 | for (var i=1, j=0.00000001; j<=1.0; i++, j+=0.00000001) { |
1 | error: 3 : 3.0000000000000004 |
まとめ
- Node.js で BTC の単位変換をするには
satoshi-bitcoin
パッケージを使う toSatochi
で BTC → satoshitoBitcoin
で BTC ← satoshi
その他・メモ
Last Commit が 2018/05/24 だけど、特に問題なかった。
参考文献
関連記事
- Facebook の仮想通貨 Libra の Node.js クライアント libra-core(v1.0.5) 調査メモ
- Mac に Facebook の仮想通貨 Libra の Node.js クライアント libra-core をインストールする
- axios で添付ファイルありのリクエスト(multipart/form-data の POST)
- Chart.js(vue-chartjs) でツールチップの表示内容を変更
- Vue.js で日本語変換での誤発火を抑止しつつ Enter キーで Submit
- ツールチップを簡単に表示できる Tippy.js の使い方
- JavaScript で URL のクエリパラメータを操作する方法
- jQuery Select2 で、初期値の設定と選択状態のクリア