'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 }
Codificación Base58
Base58 (sin verificación)