diff --git a/src/node_manager.py b/src/node_manager.py index 4e03f30..3178135 100644 --- a/src/node_manager.py +++ b/src/node_manager.py @@ -82,7 +82,7 @@ class NodeManager(): self.scheduler = Scheduler(self.w3, SCHEDULER_ADDR, SCHEDULER_ABI_FILE) self.wallet = self.w3.eth.account.from_key(WALLET_KEY) print(f"We have use {WEB3_PROVIDER_URL+WEB3_PROVIDER_KEY} as the web3 provider.") - print(f"And we have load your wallet private key {WALLET_KEY}") + print(f"And we have load your wallet private key {WALLET_KEY} (address={self.wallet.address})") print() if self.w3.is_connected(): print("Connected Successfully.") @@ -102,6 +102,8 @@ class NodeManager(): # start waiting print("\nWaiting for the new task from Sepolia testnet...") self.cluster_communication_module.start_listen_task() + next_task = self.scheduler.listen_task(self.wallet.address) + print(next_task) else: print("[ERROR] Connected Failed.") diff --git a/src/scheduler.py b/src/scheduler.py index 5e9bcae..551b57d 100644 --- a/src/scheduler.py +++ b/src/scheduler.py @@ -48,3 +48,12 @@ class Scheduler(): def get_cluster_event(self, receipt): event = self.contract.events.RegisterCluster().process_receipt(receipt) return event + + def listen_task(self, address): + event_filter = self.contract.events.StartRun.create_filter(fromBlock='latest') + while True: + for event in event_filter.get_new_entries(): + if event['args']['provider'] == address: + return event + +