Home Reference Source Repository

src/lib/dagchain/genesis.js


/**
 * Create a new genesis block
 */
export const newGenesisDAGNode = async difficulty => {
  let dagnode;
  const block = {
    index: 0,
    prevHash: '0',
    time: Math.floor(new Date().getTime() / 1000),
    transactions: [],
    nonce: 0
  };

  dagnode = await createDAGNode(block);
  block.hash = dagnode.multihash.toString('hex').substring(4);
  while (parseInt(block.hash.substring(0, 8), 16) >= difficulty) {
    block.nonce++;
    dagnode = await createDAGNode(block);
    block.hash = dagnode.multihash.toString('hex').substring(4);
  }
  return dagnode;
}

export default (prevHash, time)