bittorrent-dht-sodium

1.2.0 • Public • Published

bittorrent-dht-sodium

Build Status

Sodium wrapper for working with BEP44 on bittorrent-dht

Usage

var eddsa = require('bittorrent-dht-sodium')
const DHT = require('bittorrent-dht')
const dht = new DHT({
  verify: eddsa.verify
})
 
const keys = eddsa.keygen()
 
dht.put({
  v: Buffer.from('Hello world'),
  k: keys.pk,
  seq: 0,
  sign: (msg) => {
    return eddsa.sign(msg, keys.sk)
  }
}, function (err, hash) {
  // ...
})

API

const { pk, sk } = eddsa.keygen([sk])

Derive a Ed25519 keypair, optionally deriving the pk from an exisiting sk. Returns pk as Public Key, sk as Secret Key. The sk here is not compatible with ed25519-supercop, as the encoding is different, but signatures will be the same.

const sig = eddsa.sign(msg, sk)

Sign Buffer msg with sk returning the signature as a Buffer

const valid = eddsa.verify(sig, msg, pk)

Verify Buffer sig against Buffer msg with pk returning boolean whether valid or not.

const salt = eddsa.salt()

Generate a 64 byte random salt. This is equal to the block size of SHA-1, the hash function used by the DHT.

Install

npm install bittorrent-dht-sodium

License

ISC

Readme

Keywords

none

Package Sidebar

Install

npm i bittorrent-dht-sodium

Weekly Downloads

4

Version

1.2.0

License

ISC

Unpacked Size

5.65 kB

Total Files

7

Last publish

Collaborators

  • emilbayes