パッケージの詳細

bs58

cryptocoinjs12.4mMIT6.0.0

Base 58 encoding / decoding

base58, bitcoin, crypto, crytography

readme

bs58

build status

JavaScript component to compute base 58 encoding. This encoding is typically used for crypto currencies such as Bitcoin.

Note: If you're looking for base 58 check encoding, see: https://github.com/bitcoinjs/bs58check, which depends upon this library.

Install

npm i --save bs58

API

encode(input)

input must be a Uint8Array, Buffer, or an Array. It returns a string.

example:

import bs58 from 'bs58'

const bytes = Uint8Array.from([
    0, 60,  23, 110, 101, 155, 234,
   15, 41, 163, 233, 191, 120, 128,
  193, 18, 177, 179,  27,  77, 200,
   38, 38, 129, 135
])
const address = bs58.encode(bytes)
console.log(address)
// => 16UjcYNBG9GTK4uq2f7yYEbuifqCzoLMGS

decode(input)

input must be a base 58 encoded string. Returns a Uint8Array.

example:

import bs58 from 'bs58'

const address = '16UjcYNBG9GTK4uq2f7yYEbuifqCzoLMGS'
const bytes = bs58.decode(address)
// See uint8array-tools package for helpful hex encoding/decoding/compare tools
console.log(Buffer.from(bytes).toString('hex'))
// => 003c176e659bea0f29a3e9bf7880c112b1b31b4dc826268187

Browser

You can use this module in the browser. Install Browserify:

npm install -g browserify

then run:

browserify node_modules/bs58/cjs/index.cjs -o bs58.bundle.js --standalone bs58

Hack / Test

Uses JavaScript standard style. Read more:

js-standard-style

Credits

License

MIT

更新履歴

5.0.0 / 2022-02-17

  • decode and decodeUnsafe now return a Uint8Array.

4.0.0 / 2016-12-3

3.0.0 / 2015-08-18

  • refactored module into generic base-x.

2.0.1 / 2014-12-23

  • performance boost in encode() #10

2.0.0 / 2014-10-03

1.2.1 / 2014-07-24

1.2.0 / 2014-06-29

1.1.0 / 2014-06-26

  • user Buffer internally for calculations, providing cleaner code and a performance increase. Daniel Cousens

1.0.0 / 2014-05-27

  • removed binstring dep, Buffer now only input to encode() and output of decode()
  • update bigi from ~0.3.0 to ^1.1.0
  • added travis-ci support
  • added coveralls support
  • modified tests and library to handle fixture style testing (thanks to bitcoinjs-lib devs and Daniel Cousens)

0.3.0 / 2014-02-24

  • duck type input to encode and change output of decode to Buffer.

0.2.1 / 2014-02-24

  • removed bower and component support. Closes #1
  • convert from 4 spaces to 2

0.2.0 / 2013-12-07

  • renamed from cryptocoin-base58 to bs58

0.1.0 / 2013-11-20

  • removed AMD support

0.0.1 / 2013-11-04

  • initial release