lib/base-58.js

Codificación Base58

Base58 (sin verificación)

'use strict' import bs58 from 'bs58' import { Struct } from './struct' class Base58 extends Struct { constructor (buf) { super({ buf }) } fromHex (hex) { return this.fromBuffer(Buffer.from(hex, 'hex')) } toHex () { return this.toBuffer().toString('hex') } static encode (buf) { if (!Buffer.isBuffer(buf)) { throw new Error('La entrada debe ser un búfer') } return bs58.encode(buf) } static decode (str) { if (typeof str !== 'string') { throw new Error('La entrada debe ser una cadena') } return Buffer.from(bs58.decode(str)) } fromBuffer (buf) { this.buf = buf return this } fromString (str) { const buf = Base58.decode(str) this.buf = buf return this } toBuffer () { return this.buf } toString () { return Base58.encode(this.buf) } } export { Base58 }