Base58check: no longer encodes version separately
This commit is contained in:
parent
63e6cf987f
commit
d39662e375
6 changed files with 88 additions and 317 deletions
|
@ -4,13 +4,11 @@ var base58 = require('./base58')
|
|||
var crypto = require('./crypto')
|
||||
|
||||
// Encode a buffer as a base58-check-encoded string
|
||||
function encode(payload, version) {
|
||||
var version = new Buffer([version])
|
||||
var message = Buffer.concat([version, payload])
|
||||
var checksum = crypto.hash256(message).slice(0, 4)
|
||||
function encode(payload) {
|
||||
var checksum = crypto.hash256(payload).slice(0, 4)
|
||||
|
||||
return base58.encode(Buffer.concat([
|
||||
message,
|
||||
payload,
|
||||
checksum
|
||||
]))
|
||||
}
|
||||
|
@ -19,20 +17,13 @@ function encode(payload, version) {
|
|||
function decode(string) {
|
||||
var buffer = base58.decode(string)
|
||||
|
||||
var message = buffer.slice(0, -4)
|
||||
var payload = buffer.slice(0, -4)
|
||||
var checksum = buffer.slice(-4)
|
||||
var newChecksum = crypto.hash256(message).slice(0, 4)
|
||||
var newChecksum = crypto.hash256(payload).slice(0, 4)
|
||||
|
||||
assert.deepEqual(newChecksum, checksum, 'Invalid checksum')
|
||||
|
||||
var version = message.readUInt8(0)
|
||||
var payload = message.slice(1)
|
||||
|
||||
return {
|
||||
version: version,
|
||||
payload: payload,
|
||||
checksum: checksum
|
||||
}
|
||||
return payload
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue