
Elliptic curve cryptography functions (ECC)
Private Key, Public Key, Signature, AES, Encryption / Decryption
Import
import ecc from 'eosjs-ecc'
const ecc = require('eosjs-ecc')
Common API
wif
Wallet Import Format
Type: string
ecc
randomKey
Parameters
cpuEntropyBits
number gather additional entropy
from a CPU mining algorithm. Set to 0 for testing. (optional, default 128
)
Examples
ecc.randomKey()
Returns wif
seedPrivate
Parameters
seed
string any length string. This is private. The same
seed produces the same private key every time. At least 128 random
bits should be used to produce a good private key.
Examples
ecc.seedPrivate('secret') === wif
Returns wif
privateToPublic
Parameters
Examples
ecc.privateToPublic(wif) === pubkey
Returns pubkey
isValidPublic
Parameters
Examples
ecc.isValidPublic(pubkey) === true
Returns boolean valid
isValidPrivate
Parameters
Examples
ecc.isValidPrivate(wif) === true
Returns boolean valid
sign
Create a signature using data or a hash.
Parameters
data
(string | Buffer)privateKey
(wif | PrivateKey)hashData
boolean sha256 hash data before signing (optional, default true
)
Examples
ecc.sign('I am alive', wif)
Returns string hex signature
verify
Verify signed data.
Parameters
Examples
ecc.verify(signature, 'I am alive', pubkey) === true
Returns boolean
recover
Recover the public key used to create the signature.
Parameters
Examples
ecc.recover(signature, 'I am alive') === pubkey
Returns pubkey
sha256
Parameters
data
(string | Buffer)encoding
string 'hex', 'binary' or 'base64' (optional, default 'hex'
)
Examples
ecc.sha256('hashme') === '02208b..'
Returns (string | Buffer) Buffer when encoding is null, or string
pubkey
EOSKey..
Type: string
Usage (Object API)
let {PrivateKey, PublicKey, Signature, Aes, key_utils, config} = require('eosjs-ecc')
privateWif = PrivateKey.randomKey().toWif()
pubkey = PrivateKey.fromWif(privateWif).toPublic().toString()
Browser
git clone https://github.com/EOSIO/eosjs-ecc.git
cd eosjs-ecc
npm install
npm run build
<script src=eosjs-ecc.js></script>
var ecc = eosjs_ecc
var privateWif = ecc.randomKey()
var pubkey = ecc.privateToPublic(privateWif)
console.log(pubkey)
Configure
const {config} = require('eosjs-ecc')
See Config