Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 1.49 KB

README.md

File metadata and controls

67 lines (51 loc) · 1.49 KB

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;