Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
The bs58 npm package is a utility for encoding and decoding data in Base58, which is a binary-to-text encoding scheme. It is commonly used in cryptocurrency applications, particularly Bitcoin, for encoding addresses and other data in a compact, human-readable format.
Encoding a Buffer to Base58
This feature allows you to encode a buffer of binary data into a Base58 string. The code sample demonstrates encoding the UTF-8 string 'Hello World' into Base58.
"use strict"; const bs58 = require('bs58'); const bytes = Buffer.from('Hello World', 'utf8'); const encoded = bs58.encode(bytes); console.log(encoded);
Decoding a Base58 String to a Buffer
This feature allows you to decode a Base58 string back into its original binary form, represented as a Buffer. The code sample demonstrates decoding a Base58 string back into the original UTF-8 string.
"use strict"; const bs58 = require('bs58'); const encoded = 'JxF12TrwUP45BMd'; const bytes = bs58.decode(encoded); console.log(bytes.toString('utf8'));
The base-x package is a general-purpose base encoding/decoding library that supports multiple bases, such as Base58, Base64, etc. It is more flexible than bs58 as it can handle a variety of encodings, but it might be slightly more complex to use for Base58 specifically.
The base58check package is similar to bs58 but includes additional functionality for adding and verifying checksums, which is a common requirement in Bitcoin address encoding. This makes it more suitable for applications that require checksum validation.
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.
npm i --save bs58
input
must be a Buffer or an Array
. It returns a string
.
example:
var bs58 = require('bs58')
var unencodedData = "003c176e659bea0f29a3e9bf7880c112b1b31b4dc826268187"
var out = bs58.encode(new Buffer(unencodedData, 'hex'))
console.log(out) // => 16UjcYNBG9GTK4uq2f7yYEbuifqCzoLMGS
input
must be a base 58 encoded string. Returns an Array
.
example:
var bs58 = require('bs58')
var address = "16UjcYNBG9GTK4uq2f7yYEbuifqCzoLMGS"
var out = bs58.decode(address)
console.log(out.toString())
// => 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
// if using Node.js or browserify
console.log(new Buffer(out).toString('hex'))
// => 003c176e659bea0f29a3e9bf7880c112b1b31b4dc826268187
Uses JavaScript standard style. Read more:
bigi
as a dependencyMIT
FAQs
Base 58 encoding / decoding
The npm package bs58 receives a total of 2,170,988 weekly downloads. As such, bs58 popularity was classified as popular.
We found that bs58 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.