A universal JavaScript ECC digital signature and key utility package for Antelope based blockchains.
npm install antelope-ecc  
A lightweight universal JavaScript digital signature and cryptokey utilty package for Antelope based blockchains.
Supported runtime environments:
- Node.js versions >=18.0.0.
- Browsers matching the Browserslist query > 0.5%, not OperaMini all, not dead.
For Node.js, to install antelope-ecc run:
``sh`
npm i antelope-ecc
_Ways to import in ESM_
`js`
import { sign } from "antelope-ecc"; // Tree shaking capabilities.
_As default exports_
`js`
import AntelopeECC from "antelope-ecc";
_Ways to require/import in Common JS_
`js`
const AntelopeECC = import("antelope-ecc");
AntelopeECC.then(({ sign }) => {
// As import is async
});
Sign a message digest.
`js
import { sign } from "anteope-ecc";
import { createHash } from "crypto";
await sign({
hash: createHash("sha256")
.update(Uint8Array.from([1, 2, 3, 4, 5]))
.digest()
.toString("hex"), // Uint8Array | string
wif_private_key: "PVT_K1_43…",
}).then(console.log);
`
The logged output will be SIG_K1…
An example of how to create a pair keys.
`js
import { new_keys } from "antelope-ecc";
new_keys().then(console.log);
`
> The logged output will be an object containing PUB_K1 and PVT_K1 wif keys.
Recover public key from signature.
`js
import { recover_public_key } from "antelope-ecc";
const hash = Uint8Array.from(
crypto.createHash("sha256").update(Buffer.from("ff", "hex")).digest()
); // Data signed with private key
recover_public_key({
signature: "SIG_K1_…",
hash,
}).then(console.log);
`
> The logged output will contain the public key “PUB_K1…” used to sign the hash.
ECMAScript modules deep exports are avaialble via package.json field exports:
- legacy_from_private_key.js
- legacy_from_public_key.js
- legacy_to_private_key.js
- private_key_from_wif.js
- private_key_to_wif.js
- public_key_from_private_wif.js
- public_key_from_wif.js
- public_key_to_wif.js
- validate_private_key.js
- validate_public_key.js
- mnemonic-create.js
- mnemonic-recover.js
- new_keys.js
- sign_packed_txn.js
- sign.js`