@kba-tools/genesis-tool
Version:
A forked repo from ConsenSys which helps to generate genesis block for Besu Network with xemptyBlockPeriod field.
21 lines • 1.66 kB
JavaScript
;
const secp256r1 = require("secp256r1");
const { randomBytes } = require("crypto");
function generatePrivateKey() {
let privKey;
do {
privKey = randomBytes(32);
} while (!secp256r1.privateKeyVerify(privKey));
return privKey;
}
function derivePublicKey(privKey) {
// slice on the end to remove the compression prefix ie. uncompressed use 04 prefix & compressed use 02 or 03
// we generate the address, which wont work with the compression prefix
const pubKey = secp256r1.publicKeyCreate(privKey, false).slice(1);
return Buffer.from(pubKey);
}
module.exports = {
generatePrivateKey: generatePrivateKey,
derivePublicKey: derivePublicKey
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZUtleXNSMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbm9kZUtleXNSMS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFHeEMsU0FBUyxrQkFBa0I7SUFDekIsSUFBSSxPQUFPLENBQUM7SUFDWixHQUFHLENBQUM7UUFDRixPQUFPLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtJQUMvQyxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsT0FBTztJQUM5Qiw2R0FBNkc7SUFDN0csdUVBQXVFO0lBQ3ZFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUc7SUFDZixrQkFBa0IsRUFBRSxrQkFBa0I7SUFDdEMsZUFBZSxFQUFFLGVBQWU7Q0FDakMsQ0FBQSJ9