Skip to content

hackergrrl/js-peer-id

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

peer-id JavaScript implementation

Build Status Dependency Status js-standard-style

IPFS Peer Id implementation in JavaScript

Description

An IPFS Peer Id is based on a sha256 hash of the peer public key, using multihash

The public key is a base64 encoded string of a protobuf containing an RSA DER buffer. This uses a node buffer to pass the base64 encoded public key protobuf to the multihash for ID generation.

Usage

In Node.js through npm

> npm install --save peer-id
const PeerId = require('peer-id')

In the Browser through Webpack

Follow our webpack config example.

In the Browser through browserify

WIP Doesn't work out yet

In the Browser through <script> tag

Make the peer-id.js available through your server and load it using a normal <script> tag, this will export the PeerId object, such that:

const Id = PeerId

Gotchas

You will need to use Node.js Buffer API compatible, if you are running inside the browser, you can access it by PeerId.Buffer or you can install Feross's Buffer.

Creating a new Id

const PeerId = require('ipfs-peer')

// Create a new Id
const id = PeerId.create()

// Recreate an Id from Hex string
const id = PeerId.createFromHexString(str)

// Recreate an Id from a Buffer
const id = PeerId.createFromBytes(buf)

// Recreate an B58 String
const id = PeerId.createFromB58String(str)

// Recreate from a Public Key
const id = PeerId.createFromPubKey(pubKey)

// Recreate from a Private Key
const id = PeerId.createFromPrivKey(privKey)

Exporting an Id

// Print friendly format
id.toPrint() // returns an object with id, privKey and pubKey in hex format

// Export to an hex string
id.toHexString()

// Export to Buffer
id.toBytes() (same as id.id)

// Export to a B58 string
id.toB58String()

Id format

id.pubKey   // Buffer containing the Public Key
id.privKey  // Buffer containing the Private Key
id.id       // Buffer containing the multihash

About

peer-id implementation in Node.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%