SYNOPSIS
A collection of utility functions for factom. It can be used in node.js or can be in the browser with browserify.
Precompiled for Web
Use dist/factomjs-util.js
and use like so:
// There is a require function to act similar to nodevar fctUtils = ; // Use like normalvar p = fctUtils// ...
Things you can do
Making a factoid transaction
// This is the transaction objectvar t = // We will need the private key for the inputs later. Input and output is in factoshisttvar ok = tif!ok // The fee was not added for some reason. Like address not found in transaction or something // You do not need to do this, but it timestamps the transaction to 'now'. You should do this before you sign and send// if the build process takes a lot of timet tvar txHex = fctUtils // txHex is what goes in the submit api call
Address manipulation
// Let's get a new addressvar sec = fctUtils // Get the public keyvar pub = fctUtils // These are not human readable addresses, to get those:// To get the Fs...var humanSecret = fctUtils// To get the Fa...var humanPublic = fctUtils // If given a Fs... and you want the private key to get the public key:sec = fctUtils // Then to get the Fa...pub = fctUtilshumanPublic = fctUtilsconsole // FA1zT4aFpEvcnPqPCigB3fvGu4Q4mTXY22iiuV69DqE1pNhdF2MC
Functions
The factom specific functions are: The factom specific functions are:
privateKeyToPublicKey : Gets the public keypair for a private key
publicFactoidKeyToHumanAddress : Public key to 'FA...'
privateFactoidKeyToHumanAddress : Private key to 'Fs...'
publicECKeyToHumanAddress : Public key to 'EC...'
privateECKeyToHumanAddress : Public key to 'Es...'
privateHumanAddressStringToPrivate : 'Fs...' or "Es..." to private key
isValidAddress : Returns true if given string is a valid address.
Inspired By
This is based off of the etheruem js library, but for Factom