MCPcopy Index your code
hub / github.com/jimmysong/programmingbitcoin / GetHeadersMessage

Class GetHeadersMessage

code-ch13/network.py:232–256  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

230
231
232class GetHeadersMessage:
233 command = b'getheaders'
234
235 def __init__(self, version=70015, num_hashes=1, start_block=None, end_block=None):
236 self.version = version
237 self.num_hashes = num_hashes
238 if start_block is None:
239 raise RuntimeError('a start block is required')
240 self.start_block = start_block
241 if end_block is None:
242 self.end_block = b'\x00' * 32
243 else:
244 self.end_block = end_block
245
246 def serialize(self):
247 '''Serialize this message to send over the network'''
248 # protocol version is 4 bytes little-endian
249 result = int_to_little_endian(self.version, 4)
250 # number of hashes is a varint
251 result += encode_varint(self.num_hashes)
252 # start block is in little-endian
253 result += self.start_block[::-1]
254 # end block is also in little-endian
255 result += self.end_block[::-1]
256 return result
257
258
259class GetHeadersMessageTest(TestCase):

Callers 1

test_serializeMethod · 0.70

Calls

no outgoing calls

Tested by 1

test_serializeMethod · 0.56