SenShaMart/chain-util.js
2022-11-22 13:30:19 +11:00

24 lines
No EOL
511 B
JavaScript

const EC = require('elliptic').ec;
const SHA256 = require('crypto-js/sha256');
const uuidV1 = require('uuid/v1');
const ec = new EC('secp256k1');
class ChainUtil {
static genKeyPair() {
return ec.genKeyPair();
}
static id() {
return uuidV1();
}
static hash(data) {
return SHA256(JSON.stringify(data)).toString();
}
static verifySignature(publicKey, signature, dataHash) {
return ec.keyFromPublic(publicKey, 'hex').verify(dataHash, signature);
}
}
module.exports = ChainUtil;