from __future__ import division import random import time import traceback from twisted.internet import defer, protocol, reactor from bitcoin import p2p as bitcoin_p2p from bitcoin import data as bitcoin_data from p2pool import data as p2pool_data import util # mode # 0: send hash first (high latency, low bandwidth) # 1: send entire share (low latency, high bandwidth) class Protocol(bitcoin_p2p.BaseProtocol): version = 1 sub_version = '' def __init__(self, node): self.node = node self._prefix = self.node.net.PREFIX use_checksum = True message_version = bitcoin_data.ComposedType([ ('version', bitcoin_data.StructType('H')), ]) addrdb_value = bitcoin_data.ComposedType([ ('services', bitcoin_data.StructType('