eos-ecc
v2.0.3EOS-ECC
A lightweight (~6 KB) universal JavaScript Antelope and EOSIO digital signature and cryptokey utilty package.
Installation
For Node.js, to install eos-ecc
run:
npm install eos-ecc
Examples
Signing a packed transaction.
import sign_packed_txn from "eos-ecc/sign_packed_txn.mjs";
sign_packed_txn({
chain_id: "2a02a0053…",
transaction_header: "fa123232…",
transaction_body: "fa45ffa2…",
wif_private_key: "5f…",
}).then(console.log);
The logged output will be SIG_K1_…
An example of creating new pair of crypto keys.
import new_keys from "eos-ecc/new_keys.mjs";
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 "eos-ecc/recover_public_key.mjs";
recover_public_key({
signature: "SIG_K1_…", // Signature
data: "ff", // Data that was used to create signature.
}).then(console.log);
The logged output will be PUB_K1….
Ways to require in CJS
Note
As this package is ESM if you need to require it in a Common JS package, then you can require like this:
(async function () {
const { default: new_keys } = await import("eos-ecc/new_keys.mjs");
const key_pair = await new_keys();
console.log(key_pair);
})();
the logged output was: { public_key: PUB_K1_6…, private_key: PVT_K1_ge…}
Requirements
Supported runtime environments:
- Node.js versions
>=16.0.0
. - Browsers matching the Browserslist query
> 0.5%, not OperaMini all, not dead
.
Exports
The npm package eos-ecc
features optimal JavaScript module design. It doesn’t have a main index module, so use deep imports from the ECMAScript modules that are exported via the package.json
field exports
:
legacy_to_private_key.mjs
legacy_to_public_key.mjs
new_eos_keys.mjs
new_keys.mjs
public_key_to_wif.mjs
public_key_from_private.mjs
random_bytes.mjs
recover_public_key_from_signature.mjs
sign_packed_txn.mjs
sign_txn.mjs
validate_private_key.mjs
validate_public_key.mjs
wif_to_private_key.mjs
wif_to_public_key.mjs
Metadata
- MIT
- ^12.20.1 || >= 13.2
- pur3miish
- released 11/14/2021