* "transaction_id" (string): the unique id of the transaction, generated by node making the request (a.k.a the querying node). Same transaction_id is echoed back by responding nodes. Usually a short string of binary numbers.
* "client_version" (string): string which identifies the type and version of the bittorrent-dht client. Some implementations may be missing this field.
* "transaction_id" (hex): the unique id of the transaction, generated by node making the request (a.k.a the querying node). Same transaction_id is echoed back by responding nodes.
* "client_version" (hex): identifies the type and version of the bittorrent-dht client. Some implementations may be missing this field.
Extra fields:
~~~~~~~~~~~~~
@ -1004,20 +1004,32 @@ Packets should also contain one of either the fields:
* "request_type" (string): the type of the request (a.k.a. the query). Included if this packet was a request
* "request": a request (a.k.a. a query) sent by the bittorrent-dht client
* "request.id" (string): the node ID of the node which sent the request (20-byte string in network byte order)
* "request.target" (string): the target node ID. Used by the find_node request_type
* "request.info_hash" (string): info hash of target torrent (20-byte string). Used by the get_peers and announce_peer request_types
* "request.token" (string): token key received from previous get_peers request. Used by the announce_peer request type
* "request.id" (hex): the node ID of the node which sent the request (20 bytes in network byte order)
* "request.target" (hex): the target node ID. Used by the find_node request_type
* "request.info_hash" (hex): info hash of target torrent (20 bytes). Used by the get_peers and announce_peer request_types
* "request.token" (hex): token key received from previous get_peers request. Used by the announce_peer request type
* "request.implied_port" (num): 0 or 1, if 1 ignore provided port and use source port of UDP packet. Used by the announce_peer request_type
* "request.port" (num): port on which peer will download torrent. Used by the announce_peer request_type
| response
* "response": a response to the client's request
* "response.id" (string): the node ID of the node which sent the response (20-byte string in network byte order)
* "response.nodes" (string): find_node/get_peers - compact node info for target node or K(8) closest good nodes in routing table
* "response.id" (hex): the node ID of the node which sent the response (20 bytes in network byte order)
* "response.nodes" (array): find_node/get_peers - a list of info objects for target node or K(8) closest good nodes in routing table
* "response.nodes6" (array): find_node/get_peers - a list of info objects for target node or K(8) closest good nodes in routing table (ipv6)
* "response.values" (array): list of compact peer info strings. Used by the get_peers request_type