antelope-ecc
v5.0.0-rc.2
Published
A universal JavaScript ECC digital signature and key utility package for Antelope based blockchains.
Downloads
165
Maintainers
Readme
Antelope ECC
A lightweight (~6 KB) universal JavaScript digital signature and cryptokey utilty package for Antelope based blockchains.
About
antelope-ecc package is designed as an ESM (ECMAScript Module), leveraging modern JavaScript features like static imports, exports, and tree-shaking.
Requirements
Supported runtime environments:
- Node.js versions
>=18.0.0
. - Browsers matching the Browserslist query
> 0.5%, not OperaMini all, not dead
.
Installation
For Node.js, to install antelope-ecc
run:
npm i antelope-ecc
Ways to import in ESM
import { sign } from "antelope-ecc"; // Tree shaking capabilities.
As default exports
import AntelopeECC from "antelope-ecc";
Ways to require/import in Common JS
const AntelopeECC = import("antelope-ecc");
AntelopeECC.then(({ sign }) => {
// As import is async
});
Sign a message digest.
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.
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.
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.
Exports
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