bittorrent-dht-sodium
v1.2.0
Published
Sodium wrapper for working with BEP44 on bittorrent-dht
Downloads
190
Readme
bittorrent-dht-sodium
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