AttributeError: 'coroutine' object has no attribute 'addCallback'?
from kademlia.network import Server
from twisted.internet import reactor
from utils.defaults import intial_node
from utils.init_data import load_initial_data, return_initial_data
nodes = ['node_one', 'node_two', 'node_three', 'node_four']
d = {}
bootstrap_default_data = True
def done(result):
print('Kill the distrubuted network')
reactor.stop()
def setDone(result, server):
print('Key and value added to dht')
def bootstrapDone(found, server):
global bootstrap_default_data
print('Node connected to the network')
neighbors = server.bootstrappableNeighbors()
print('This is the neighbors {0}'.format(neighbors))
if bootstrap_default_data:
load_initial_data(server)
bootstrap_default_data = False
print('Initial data loaded into network')
def set_key(server, key, value):
server.set(key, value)
def get_key(server, key):
server.get(key).addCallback(done)
def child():
server = Server()
server.listen(8467)
server.bootstrap(intial_node).addCallback(bootstrapDone, server)
ip_address_counter = 2
for node in nodes:
port = 8468 + ip_address_counter
print(node + ' listening on port ' + str(port))
d[node] = Server()
d[node].listen(port)
d[node].bootstrap(intial_node).addCallback(bootstrapDone, d[node])
d[node].saveStateRegularly('./state.txt', 20)
ip_address_counter += 1
Вывод:
C:\Users\tokan\anaconda3\python.exe C:/Users/tokan/Desktop/p2p-python-nodes-master/node/main.py
2020-11-28 11:22:49+0300 [-] Log opened.
2020-11-28 11:22:49+0300 [-] C:\Users\tokan\Desktop\p2p-python-nodes-master\node\process.py:44: builtins.RuntimeWarning: coroutine 'Server.listen' was never awaited
2020-11-28 11:22:49+0300 [-] C:\Users\tokan\Desktop\p2p-python-nodes-master\node\process.py:45: builtins.RuntimeWarning: coroutine 'Server.bootstrap' was never awaited
2020-11-28 11:22:49+0300 [-] Traceback (most recent call last):
2020-11-28 11:22:49+0300 [-] File "C:/Users/tokan/Desktop/p2p-python-nodes-master/node/main.py", line 16, in <module>
2020-11-28 11:22:49+0300 [-] main()
2020-11-28 11:22:49+0300 [-] File "C:/Users/tokan/Desktop/p2p-python-nodes-master/node/main.py", line 11, in main
2020-11-28 11:22:49+0300 [-] child()
2020-11-28 11:22:49+0300 [-] File "C:\Users\tokan\Desktop\p2p-python-nodes-master\node\process.py", line 45, in child
2020-11-28 11:22:49+0300 [-] server.bootstrap(intial_node).addCallback(bootstrapDone, server)
2020-11-28 11:22:49+0300 [-] AttributeError: 'coroutine' object has no attribute 'addCallback'