Skip to content

ho4040/keccak-secp-umd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

UMD build from paulmillr's libraries

You can test it on Demo page

Build

cd ./keccak-secp-umd
npm install

npm install webpack -g
npm install webpack-cli -g
webpack

Demo

npm install http-server -g
cd keccak-secp-umd
http-server

Usage

<script src="./dist/noble.bundle.js"></script>  
<script>
    const hexToBytes = Noble.default.utils.hexToBytes;
    const getPublicKey = Noble.default.secp.getPublicKey;
    const keccak_256 = Noble.default.hash.keccak_256;
    const utf8ToBytes = Noble.default.utils.utf8ToBytes;
    const sign = Noble.default.secp.sign;
    const bytesToHex = Noble.default.utils.bytesToHex;
    const signatureFromHex = Noble.default.secp.Signature.fromHex;

keccak256(sha3-256)

let hashed = Noble.default.hash.keccak_256(input)
let str = Noble.default.utils.bytesToHex(hashed);

private key to Ethereum address

let privateKey = hexToBytes("00000000000000000000000000000000000000000000000000000000000000FF");
let publicKey = getPublicKey(privateKey);
let address = keccak_256(publicKey.slice(1)).slice(-20);

sign with private key

let msg = utf8ToBytes("hello this is message");
let signature = await sign(msg, privateKey);
let sigHexStr = bytesToHex(signature);
let sig = signatureFromHex(sigHexStr);
let sig_r = sig.r;
let sig_s = sig.s;