Example #1
0
 public function buildDatabase()
 {
     if (!$this->tryLock(self::LOCK_FILE)) {
         die("Already running.\n");
     }
     register_shutdown_function('unlink', self::LOCK_FILE);
     echo 'Building Database' . PHP_EOL;
     $paycoinRPC = new PaycoinRPC();
     $paycoinDb = new PaycoinDb();
     $startBlockHeight = $paycoinDb->getLastBlockInDb();
     $startBlockHeight = (int) $startBlockHeight;
     $endBlockHeight = $paycoinRPC->getBlockCount();
     if ($startBlockHeight == $endBlockHeight) {
         echo "Caught up.  Last block was {$endBlockHeight}" . PHP_EOL;
         return;
     } else {
         echo "Catching up with blockchain  {$startBlockHeight} => {$endBlockHeight}" . PHP_EOL;
     }
     //@todo move this...
     $startBlockHeight++;
     $paycoinDb->buildDb($startBlockHeight, $endBlockHeight);
     echo "Complete" . PHP_EOL;
 }