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; }