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 )