Skip to content

numtel/node-raiblocks-pow

 
 

Repository files navigation

node-raiblocks-pow

Native compiled C Module for Node.js to calculate Proof of Work (PoW) value for a given RaiBlock Hash number (32-byte integer);

Based on jaimehgb/RaiBlocksWebAssembly, migrated to use node-gyp.

Installation

npm install --save raiblocks-pow

sync(hex)

  • hex <String> 64-character hex string of previous block hash

Generate a work value for a given block hash synchronously.

Returns 16-character hex string of work value

This is also the default function exported, you may invoke it without specifying sync:

const pow = require('raiblocks-pow');

// The following are the same:
const work1 = pow('<previous block hash>');
const work2 = pow.sync('<previous block hash>');

async(hex, callback)

  • hex <String> 64-character hex string of previous block hash
  • callback <Function> Standard error, result arguments

Generate a work value for up to 10000000 iterations.

If no valid work is found in the given iterations, the callback will be called with a string result of 0.

pow.async(hash, (error, result) => {
  console.log('Found', result);
});

threaded(hex, callback)

  • hex <String> 64-character hex string of previous block hash
  • callback <Function> Standard error, result arguments

Generate a work value until completion using multiple threads. (thread count = cpu count)

pow.threaded(hash, (error, result) => {
  console.log('Found', result);
});

Development

Use npm test to check a random block hash against an external threshold validation.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 86.4%
  • C 8.6%
  • C++ 4.5%
  • Other 0.5%