Update README.md with Ethereum example

Shows how to use the DST to sign/verify messages with the configuration suitable for Ethereum beacon chain.
This commit is contained in:
Ramana Kumar 2024-03-07 21:15:01 +00:00 committed by GitHub
parent 32bda7926d
commit 72cc640bb1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -613,6 +613,12 @@ const signature = bls.sign(message, privateKey);
const isValid = bls.verify(signature, message, publicKey);
console.log({ publicKey, signature, isValid });
// Use custom DST, e.g. for Ethereum consensus layer
const htfEthereum = {DST: 'BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_'};
const signatureEth = bls.sign(message, privateKey, htfEthereum);
const isValidEth = bls.verify(signature, message, publicKey, htfEthereum);
console.log({ signatureEth, isValidEth });
// Sign 1 msg with 3 keys
const privateKeys = [
'18f020b98eb798752a50ed0563b079c125b0db5dd0b1060d1c1b47d4a193e1e4',