def __init__(self, runmode=TESTNET, seeds=[]): self.log = stdout_logger(level=logging.ERROR) self.runmode = runmode nodeparams = NodeParams(runmode=runmode, port=BITCOIN_PORT[runmode], version=60000, enabledservices=SERVICES_NODE_NETWORK, nonce=random.randint(0, 2**64), sub_version_num="/bitcrawler:0.1/") self.node = BasicNode(lambda: 0, nodeparams, self.log) self.bootstrapper = Bootstrapper(runmode, self.log) self.node.subscribe(VersionExchangeService.EVT_VERSION_EXCHANGED, self.on_version_exchanged) self.node.subscribe(Node.EVT_DISCONNECTED, self.on_disconnected) self.node.subscribe((VersionExchangeService.EVT_MESSAGE, MSG_ADDR), self.on_addr) self.bootstrapper.subscribe(Bootstrapper.EVT_FOUND_PEER, self.on_found_peer) for sockaddr in seeds: self.addr_pool.addpeer(sockaddr) self.new_addrs = set() self.processing_addrs = set() self.success_addrs = set() self.failed_addrs = set() reactor.schedule_each(2, self.print_status)
def __init__(self, runmode, log): super(DnsBoostrapper, self).__init__() self.log = log self.runmode = runmode nodeparams = NodeParams(runmode=runmode, port=9000, version=60000, enabledservices=SERVICES_NONE, nonce=random.randint(0, 2**64), sub_version_num="/coinpy-boostrap:0.1/") self.node = BasicNode(lambda: 0, nodeparams, self.log) self.node.subscribe(VersionExchangeService.EVT_VERSION_EXCHANGED, self.on_version_exchanged) self.node.subscribe((VersionExchangeService.EVT_MESSAGE, MSG_ADDR), self.on_addr) self.bootstrap_peers = set() self.peers = set()