1.0.1 • Published 1 year ago

eosio-ecc v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

eos ecc logo

EOSIO ECC

NPM Package CI status License: MIT

A lightweight (~6 KB) universal JavaScript Antelope and EOSIO digital signature and cryptokey utilty package.

Installation

For Node.js, to install eosio-ecc run:

npm i eosio-ecc

For Deno.js, to use eosio_ecc Add these import paths to your deno.json file:

{
  "imports": {
    "universal-sha256-js/": "https://deno.land/x/sha256js/",
    "universal-hmac-sha256-js/": "https://deno.land/x/hmacsha256/",
    "universal-hmac-sha256-js/hmac-sha256-node.mjs": "https://deno.land/x/hmacsha256/hmac-sha256-deno.mjs",
    "base58-js/": "https://deno.land/x/base58/",
    "isomorphic-secp256k1-js/": "https://deno.land/x/secp256k1js/",
    "ripemd160-js/": "https://deno.land/x/ripemd160js@v2.0.3/"
  }
}

Examples

Signing a packed transaction.

import sign_packed_txn from "eosio-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 how to create a pair keys.

import new_keys from "eosio-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 "eosio-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("eosio-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:

Exports

The npm package eosio-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: