trustnote-pow-miner
v1.0.11
Published
TrustNote miner for Node.js
Downloads
26
Readme
TrustNote Pow-Miner
Install
$ npm install trustnote-pow-miner
Supported Platforms
MacOS, Linux, Windows
Documentation
.startMining( oOptions, pfnCallback )
start mining
- oOptions
| name | type | optional | comment | |--- | --- | --- | --- | | .bufInputHeader | Buffer | no | 140 bytes Buffer object | | .difficulty | Number | no | number | | .calcTimes | Number | yes | default value : 30, compute times per loop | | .maxLoop | Number | yes | default value : 10000000, max loop |
- pfnCallback( err, oSolution )
oSolution is a plain object :
{ win : true, hashHex : sActualHashHex, nonce : uActualNonce } { win : false, gameOver : true, hashHex : null, nonce : 0 }
const _miner = require( 'trustnote-pow-miner' );
/**
*
*/
let bufInput = new Buffer( 140 );
let nDifficulty = _miner.difficulty256HexToUInt32( "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" );
let oOptions =
{
bufInputHeader : bufInput,
difficulty : nDifficulty,
calcTimes : 30,
maxLoop : 1000000,
};
_miner.startMining( oOptions, function( err, oData )
{
if ( null === err )
{
if ( oData )
{
if ( oData.win )
{
console.log( `WINNER WINNER, CHICKEN DINNER!`, oData );
}
else if ( oData.gameOver )
{
console.log( `GAME OVER!` );
}
}
else
{
console.log( `INVALID DATA!` );
}
}
else
{
console.log( `OCCURRED ERROR : `, err );
}
});
.stopMining()
stop mining
const _miner = require( 'trustnote-pow-miner' );
_miner.stop();
console.log( `The KILL signals were sent to all workers.` );
.checkProofOfWork( bufInputHeader, uDifficulty, uActualNonce, sActualHashHex, pfnCallback )
check proof of work
const _miner = require( 'trustnote-pow-miner' );
checkProofOfWork( bufInputHeader, uDifficulty, uActualNonce, sActualHashHex, pfnCallback )