示例#1
0
 /**
  * @param InputInterface $input
  * @param OutputInterface $output
  * @return int
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $math = Bitcoin::getMath();
     $params = new Params($math);
     $loop = \React\EventLoop\Factory::create();
     $app = new BitcoinNode($params, $loop);
     $app->start();
     $loop->run();
     return 0;
 }
示例#2
0
 /**
  * @param BitcoinNode $node
  * @return array
  */
 public function onInfo(BitcoinNode $node)
 {
     $chain = $node->chain();
     $bestHeaderIdx = $chain->getChain()->getIndex();
     $bestHeader = $bestHeaderIdx->getHeader();
     $bestBlockIdx = $chain->getLastBlock();
     $bestBlockHeader = $bestBlockIdx->getHeader();
     $nChain = count($node->chains->getChains());
     $info = ['height' => $bestHeaderIdx->getHeight(), 'work' => $bestHeaderIdx->getWork(), 'best_header' => ['height' => $bestHeaderIdx->getHeight(), 'hash' => $bestHeaderIdx->getHash(), 'prevBlock' => $bestHeader->getPrevBlock(), 'merkleRoot' => $bestHeader->getMerkleRoot(), 'nBits' => $bestHeader->getBits()->getInt(), 'nTimestamp' => $bestHeader->getTimestamp(), 'nNonce' => $bestHeader->getNonce()], 'best_block' => ['height' => $bestBlockIdx->getHeight(), 'hash' => $bestBlockIdx->getHash(), 'prevBlock' => $bestBlockHeader->getPrevBlock(), 'merkleRoot' => $bestBlockHeader->getMerkleRoot(), 'nBits' => $bestBlockHeader->getBits()->getInt(), 'nTimestamp' => $bestBlockHeader->getTimestamp(), 'nNonce' => $bestBlockHeader->getNonce()], 'nChain' => $nChain];
     return $info;
 }