Compare commits

...

10 Commits

4 changed files with 29 additions and 8 deletions

View File

@ -58,7 +58,7 @@ var PeerId = require('peer-id')
var bs58 = require('bs58')
PeerId.create({ bits: 1024 }, (err, id) => {
console.log(JSON.stringify(id.toJSON(), null, 2)
console.log(JSON.stringify(id.toJSON(), null, 2))
})
```

View File

@ -1,6 +1,6 @@
{
"name": "peer-id",
"version": "0.8.0",
"version": "0.8.1",
"description": "IPFS Peer Id implementation in Node.js",
"main": "src/index.js",
"bin": "src/bin.js",
@ -33,14 +33,14 @@
},
"homepage": "https://github.com/libp2p/js-peer-id",
"devDependencies": {
"aegir": "^9.0.1",
"aegir": "^9.2.1",
"chai": "^3.5.0",
"pre-commit": "^1.1.3"
},
"dependencies": {
"async": "^2.0.1",
"libp2p-crypto": "^0.7.0",
"multihashes": "^0.2.2"
"multihashes": "^0.3.0"
},
"repository": {
"type": "git",
@ -50,9 +50,10 @@
"David Dias <daviddias.p@gmail.com>",
"David Dias <mail@daviddias.me>",
"Friedel Ziegelmayer <dignifiedquire@gmail.com>",
"Greenkeeper <support@greenkeeper.io>",
"Prashanth Chandra <coolshanth94@gmail.com>",
"Richard Littauer <richard.littauer@gmail.com>",
"Stephen Whitmore <stephen.whitmore@gmail.com>",
"greenkeeperio-bot <support@greenkeeper.io>",
"nginnever <ginneversource@gmail.com>",
"npmcdn-to-unpkg-bot <npmcdn-to-unpkg-bot@users.noreply.github.com>"
]

View File

@ -17,11 +17,20 @@ class PeerId {
assert(privKey.public.bytes.equals(pubKey.bytes), 'inconsistent arguments')
}
this.id = id
this._id = id
this._idB58String = mh.toB58String(this.id)
this._privKey = privKey
this._pubKey = pubKey
}
get id () {
return this._id
}
set id (val) {
throw new Error('Id is immutable')
}
get privKey () {
return this._privKey
}
@ -61,7 +70,7 @@ class PeerId {
// of go-ipfs for its config file
toJSON () {
return {
id: mh.toB58String(this.id),
id: this.toB58String(),
privKey: toB64Opt(this.marshalPrivKey()),
pubKey: toB64Opt(this.marshalPubKey())
}
@ -77,7 +86,7 @@ class PeerId {
}
toB58String () {
return mh.toB58String(this.id)
return this._idB58String
}
}

View File

@ -29,6 +29,17 @@ describe('PeerId', () => {
})
})
it('throws on changing the id', (done) => {
PeerId.create((err, id) => {
expect(err).to.not.exist
expect(id.toB58String().length).to.equal(46)
expect(() => {
id.id = new Buffer('hello')
}).to.throw(/immutable/)
done()
})
})
it('recreate an Id from Hex string', () => {
const id = PeerId.createFromHexString(testIdHex)
expect(testIdBytes).to.deep.equal(id.id)