Skip to content
This repository has been archived by the owner. It is now read-only.
Switch branches/tags
Go to file
This branch is 41 commits ahead of sumlnoether:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Master Build Status

Build Status Build status

Development Build Status

Build Status Build status



Cryptocurrency hashing functions for NodeJS

Now with Windows support


  • quark
  • x11
  • x13
  • nist5
  • scrypt
  • scryptn
  • scryptjane
  • keccak
  • bcrypt
  • skein
  • groestl
  • blake
  • fugue
  • qubit
  • hefty1
  • shavite3
  • cryptonight
  • cryptonight-fast
  • cryptonight-lite
  • boolberry



sudo apt-get nodejs nodejs-dev node-gyp npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
npm install turtlecoin-multi-hashing

So far this native NodeJS addon can do the following hashing algorithms.

var multiHashing = require('turtlecoin-multi-hashing')
var Buffer = require('safe-buffer').Buffer

var algorithms = ['quark', 'x11', 'scrypt', 'scryptn', 'scryptjane', 'keccak', 'bcrypt', 'skein', 'blake']

var data = new Buffer('7000000001e980924e4e1109230383e66d62945ff8e749903bea4336755c00000000000051928aff1b4d72416173a8c3948159a09a73ac3bb556aa6bfbcad1a85da7f4c1d13350531e24031b939b9e2b', 'hex')

var hashedData = (algo) {
  if (algo === 'scryptjane') {
        // scryptjane needs block.nTime and nChainStartTime (found in coin source)
    var yaCoinChainStartTime = 1367991200
    var nTime = Math.round( / 1000)
    return multiHashing[algo](data, nTime, yaCoinChainStartTime)
  } else {
    return multiHashing[algo](data)

//<SlowBuffer 0b de 16 ef 2d 92 e4 35 65 c6 6c d8 92 d9 66 b4 3d 65 ..... >


  • NSA and NIST for creation or sponsoring creation of SHA2 and SHA3 algos
  • Keccak - Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche
  • Skein - Bruce Schneier, Stefan Lucks, Niels Ferguson, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas and Jesse Walker.
  • BLAKE - Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and Raphael C.-W. Phan
  • Grøstl - Praveen Gauravaram, Lars Knudsen, Krystian Matusiewicz, Florian Mendel, Christian Rechberger, Martin Schläffer, and Søren S. Thomsen
  • JH - Hongjun Wu
  • Fugue - Shai Halevi, William E. Hall, and Charanjit S. Jutla
  • scrypt - Colin Percival
  • bcrypt - Niels Provos and David Mazières
  • X11, Hefty1, Quark creators (they just mixed together a bunch of the above algos)
  • PhearZero Michael J Feher
  • codebling CodeBling
  • Monero The Monero Project
  • TurtleCoin TurtleCoin Developers