如何使用比特币中的套接字编程从比特币节点获取getaddr的响应?

时间:2019-09-24 12:57:17

标签: sockets bitcoin bitcoind

我想从现有节点中获取比特币节点列表,以获取当前正在运行比特币的节点的所有ip地址。我已经使用套接字编程来连接到现有节点,并希望获取该节点中的地址列表。所以我写了一条消息来获取第一个节点的地址。但是,套接字不响应地址列表

$author = new Google_Service_MyBusiness_Author();
$author->setDisplayName('location display name');
$author->setProfilePhotoUrl('someurl.jpg');
$author->setType('MERCHANT');

$answer = new Google_Service_MyBusiness_Answer();
$answer->setText($_POST['answerReplyText']);
$answer->setAuthor($author);

$postBody = new Google_Service_MyBusiness_UpsertAnswerRequest();
$postBody->setAnswer($answer);

try {
    $mybusinessService->accounts_locations_questions_answers->upsert($_POST['question_name'],$postBody);
}
catch(Exception $e) {
    var_dump($e);
}

1 个答案:

答案 0 :(得分:1)

您必须遵循比特币协议。

  • 发送版本消息
  • 从远程接收版本消息
  • 从远程接收verac消息(您必须发出sock.recv两次)
  • 发送verac消息

建立连接后,您可以发送getaddr消息并递归处理结果。