mirror of
https://github.com/fluencelabs/js-peer-id
synced 2025-07-04 06:31:35 +00:00
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
fc9698476f | |||
ffe04c12a0 | |||
65e0b746a5 | |||
74cdb24544 | |||
b5335cd4ee | |||
519052693d | |||
bbf0416f08 |
20
CHANGELOG.md
20
CHANGELOG.md
@ -1,3 +1,23 @@
|
||||
<a name="0.13.6"></a>
|
||||
## [0.13.6](https://github.com/libp2p/js-peer-id/compare/v0.13.5...v0.13.6) (2019-12-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* catch errors thrown by multihash decode ([#109](https://github.com/libp2p/js-peer-id/issues/109)) ([65e0b74](https://github.com/libp2p/js-peer-id/commit/65e0b74))
|
||||
|
||||
|
||||
|
||||
<a name="0.13.5"></a>
|
||||
## [0.13.5](https://github.com/libp2p/js-peer-id/compare/v0.13.4...v0.13.5) (2019-11-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* deprecate isEqual in favor of equals ([#107](https://github.com/libp2p/js-peer-id/issues/107)) ([bbf0416](https://github.com/libp2p/js-peer-id/commit/bbf0416))
|
||||
|
||||
|
||||
|
||||
<a name="0.13.4"></a>
|
||||
## [0.13.4](https://github.com/libp2p/js-peer-id/compare/v0.13.3...v0.13.4) (2019-11-04)
|
||||
|
||||
|
19
README.md
19
README.md
@ -17,6 +17,9 @@
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [peer-id](#peer-id)
|
||||
- [Lead Maintainer](#lead-maintainer)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Description](#description)
|
||||
- [Example](#example)
|
||||
- [Installation](#installation)
|
||||
@ -37,13 +40,18 @@
|
||||
- [`createFromPubKey(pubKey)`](#createfrompubkeypubkey)
|
||||
- [`createFromPrivKey(privKey)`](#createfromprivkeyprivkey)
|
||||
- [`createFromJSON(obj)`](#createfromjsonobj)
|
||||
- [`createFromProtobuf(buf)`](#createfromprotobufbuf)
|
||||
- [Export](#export)
|
||||
- [`toHexString()`](#tohexstring)
|
||||
- [`toBytes()`](#tobytes)
|
||||
- [`toString()`](#tostring)
|
||||
- [`toB58String()`](#tob58string)
|
||||
- [`toHexString()`](#tohexstring)
|
||||
- [`toJSON()`](#tojson)
|
||||
- [`marshal(excludePrivateKey)`](#marshalexcludeprivatekey)
|
||||
- [`marshalPubKey()`](#marshalpubkey)
|
||||
- [`toPrint()`](#toprint)
|
||||
- [`equals(id)`](#equalsid)
|
||||
- [`isEqual(id)`](#isequalid)
|
||||
- [License](#license)
|
||||
|
||||
# Description
|
||||
@ -119,7 +127,7 @@ const PeerId = require('peer-id')
|
||||
|
||||
### `new PeerId(id[, privKey, pubKey])`
|
||||
|
||||
- `id: Buffer` - The multihash of the publick key as `Buffer`
|
||||
- `id: Buffer` - The multihash of the public key as `Buffer`
|
||||
- `privKey: RsaPrivateKey` - The private key
|
||||
- `pubKey: RsaPublicKey` - The public key
|
||||
|
||||
@ -256,7 +264,14 @@ Returns the Peer ID as a printable string without the `Qm` prefix.
|
||||
|
||||
Example: `<peer.ID xxxxxx>`
|
||||
|
||||
### `equals(id)`
|
||||
|
||||
Returns `true` if the given PeerId is equal to the current instance.
|
||||
|
||||
- `id` can be a PeerId or a Buffer containing the id
|
||||
|
||||
### `isEqual(id)`
|
||||
**Deprecation Notice**: Use [`equals`](#equalsid), `isEqual` will be removed in 0.14.0.
|
||||
|
||||
- `id` can be a PeerId or a Buffer containing the id
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "peer-id",
|
||||
"version": "0.13.4",
|
||||
"version": "0.13.6",
|
||||
"description": "IPFS Peer Id implementation in Node.js",
|
||||
"leadMaintainer": "Vasco Santos <santos.vasco10@gmail.com>",
|
||||
"main": "src/index.js",
|
||||
@ -52,6 +52,7 @@
|
||||
},
|
||||
"contributors": [
|
||||
"Arve Knudsen <arve.knudsen@gmail.com>",
|
||||
"Christian Paul <info@jaller.de>",
|
||||
"David Dias <daviddias.p@gmail.com>",
|
||||
"David Dias <mail@daviddias.me>",
|
||||
"Friedel Ziegelmayer <dignifiedquire@gmail.com>",
|
||||
|
30
src/index.js
30
src/index.js
@ -50,12 +50,17 @@ class PeerId {
|
||||
return this._privKey.public
|
||||
}
|
||||
|
||||
const decoded = mh.decode(this.id)
|
||||
try {
|
||||
const decoded = mh.decode(this.id)
|
||||
|
||||
if (decoded.name === 'identity') {
|
||||
this._pubKey = cryptoKeys.unmarshalPublicKey(decoded.digest)
|
||||
return this._pubKey
|
||||
if (decoded.name === 'identity') {
|
||||
this._pubKey = cryptoKeys.unmarshalPublicKey(decoded.digest)
|
||||
}
|
||||
} catch (_) {
|
||||
// Ignore, there is no valid public key
|
||||
}
|
||||
|
||||
return this._pubKey
|
||||
}
|
||||
|
||||
set pubKey (pubKey) {
|
||||
@ -133,7 +138,12 @@ class PeerId {
|
||||
return this._idCIDString
|
||||
}
|
||||
|
||||
isEqual (id) {
|
||||
/**
|
||||
* Checks the equality of `this` peer against a given PeerId.
|
||||
* @param {Buffer|PeerId} id
|
||||
* @returns {boolean}
|
||||
*/
|
||||
equals (id) {
|
||||
if (Buffer.isBuffer(id)) {
|
||||
return this.id.equals(id)
|
||||
} else if (id.id) {
|
||||
@ -143,6 +153,16 @@ class PeerId {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the equality of `this` peer against a given PeerId.
|
||||
* @deprecated Use `.equals`
|
||||
* @param {Buffer|PeerId} id
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isEqual (id) {
|
||||
return this.equals(id)
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if this PeerId instance is valid (privKey -> pubKey -> Id)
|
||||
*/
|
||||
|
@ -231,6 +231,18 @@ describe('PeerId', () => {
|
||||
expect(ids[0].isEqual(ids[1].id)).to.equal(false)
|
||||
})
|
||||
|
||||
it('equals', async () => {
|
||||
const ids = await Promise.all([
|
||||
PeerId.create(testOpts),
|
||||
PeerId.create(testOpts)
|
||||
])
|
||||
|
||||
expect(ids[0].equals(ids[0])).to.equal(true)
|
||||
expect(ids[0].equals(ids[1])).to.equal(false)
|
||||
expect(ids[0].equals(ids[0].id)).to.equal(true)
|
||||
expect(ids[0].equals(ids[1].id)).to.equal(false)
|
||||
})
|
||||
|
||||
describe('fromJSON', () => {
|
||||
it('full node', async () => {
|
||||
const id = await PeerId.create(testOpts)
|
||||
|
Reference in New Issue
Block a user