/**
  * @param OutputInterface $output
  * @param $userHost
  * @param Version $version
  */
 private function renderVersion(OutputInterface $output, $userHost, Version $version)
 {
     $output->writeln(' <info>Results of connection to ' . $userHost . "</info>:");
     $output->writeln('   Protocol Version:    ' . $version->getVersion() . "");
     $output->writeln('   User agent:          ' . $version->getUserAgent()->getBinary() . "");
     $services = $version->getServices()->getInt();
     $hasServices = implode(" ", array_map(function ($value) use($services) {
         return $services == constant('\\BitWasp\\Bitcoin\\Networking\\Messages\\Version::' . $value) ? $value : '';
     }, ['NODE_NETWORK', 'NODE_GETUTXOS']));
     $output->writeln('   Services:            ' . $version->getServices()->getInt() . " " . $hasServices);
     $output->writeln('   Requesting relay:    ' . ($version->getRelay() ? 'true' : 'false') . "");
     $output->writeln('   Timestamp:           ' . $version->getTimestamp() . "");
     $output->writeln('   Nonce:               ' . $version->getNonce() . "");
     $output->writeln('   Chain height:        ' . $version->getStartHeight() . "");
     $output->writeln('   Their address:       ' . $version->getSenderAddress()->getIp() . "");
     $output->writeln('   Their port:          ' . $version->getSenderAddress()->getPort() . "");
     $output->writeln('   Our address:         ' . $version->getRecipientAddress()->getIp() . "");
     $output->writeln('   Our port:            ' . $version->getRecipientAddress()->getPort() . "");
 }
 /**
  * @param Version $version
  * @return \BitWasp\Buffertools\Buffer
  */
 public function serialize(Version $version)
 {
     return $this->getTemplate()->write([$version->getVersion(), $version->getServices(), $version->getTimestamp(), $version->getRecipientAddress()->getBuffer(), $version->getSenderAddress()->getBuffer(), $version->getNonce(), $version->getUserAgent(), $version->getStartHeight(), $version->getRelay()]);
 }
Example #3
0
 /**
  * @param BlockLocator $locator
  */
 public function getheaders(BlockLocator $locator)
 {
     $this->send($this->msgs->getheaders($this->localVersion->getVersion(), $locator));
 }