Skip to content
This repository was archived by the owner on May 16, 2019. It is now read-only.

Commit f471eb4

Browse files
committed
Add random node to refresh ids
1 parent 3379a0b commit f471eb4

File tree

8 files changed

+20
-13
lines changed

8 files changed

+20
-13
lines changed

dht/network.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import pickle
99
import httplib
10+
import random
1011
from binascii import hexlify
1112
from twisted.internet.task import LoopingCall
1213
from twisted.internet import defer, reactor, task
@@ -83,7 +84,9 @@ def refreshTable(self):
8384
(per section 2.3 of the paper).
8485
"""
8586
ds = []
86-
for rid in self.protocol.getRefreshIDs():
87+
refresh_ids = self.protocol.getRefreshIDs()
88+
refresh_ids.append(digest(random.getrandbits(255))) # random node so we get more diversity
89+
for rid in refresh_ids:
8790
node = Node(rid)
8891
nearest = self.protocol.router.findNeighbors(node, self.alpha)
8992
spider = NodeSpiderCrawl(self.protocol, node, nearest, self.ksize, self.alpha)

interfaces.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class MessageProcessor(Interface):
1313
multiplexer = Attribute("""The main `ConnectionMultiplexer` protocol.
1414
We pass it in here so we can send datagrams from this class.""")
1515

16-
def receive_message(datagram, sender, connection, ban_score):
16+
def receive_message(datagram, sender, connection):
1717
"""
1818
Called by OpenBazaarProtocol when it receives a new message intended for this processor.
1919
@@ -25,8 +25,6 @@ def receive_message(datagram, sender, connection, ban_score):
2525
2626
connection: the txrudp connection to the peer who sent the message. To respond directly to the peer call
2727
connection.send_message()
28-
29-
ban_score: a `net.dos.BanScore` object for tracking a peer's behavior.
3028
"""
3129

3230
def connect_multiplexer(multiplexer):

market/network.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1056,7 +1056,6 @@ def parse_response(response):
10561056
self.log.info("sending refund message to %s" % buyer_guid)
10571057
return self.kserver.resolve(unhexlify(buyer_guid)).addCallback(get_node)
10581058

1059-
10601059
@staticmethod
10611060
def cache(file_to_save, filename):
10621061
"""

net/heartbeat.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ def __init__(self, only_ip="127.0.0.1"):
2727
self.only_ip = only_ip
2828
self.status = "starting up"
2929
self.protocol = HeartbeatProtocol
30+
self.libbitcoin = None
3031
self.clients = []
3132
LoopingCall(self._heartbeat).start(10, now=True)
3233

@@ -54,6 +55,11 @@ def push(self, msg):
5455
c.transport.write(msg)
5556

5657
def _heartbeat(self):
58+
if self.libbitcoin is not None:
59+
libbitcoin_status = "online" if self.libbitcoin.connected else "offline"
60+
else:
61+
libbitcoin_status = "NA"
5762
self.push(json.dumps({
58-
"status": self.status
63+
"status": self.status,
64+
"libbitcoin": libbitcoin_status
5965
}))

net/rpcudp.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def __init__(self, sourceNode, router, waitTimeout=15):
4343
self._outstanding = {}
4444
self.log = Logger(system=self)
4545

46-
def receive_message(self, message, sender, connection, ban_score):
46+
def receive_message(self, message, sender, connection):
4747
if message.testnet != self.multiplexer.testnet:
4848
self.log.warning("received message from %s with incorrect network parameters." %
4949
str(connection.dest_addr))
@@ -66,7 +66,6 @@ def receive_message(self, message, sender, connection, ban_score):
6666
if msgID in self._outstanding:
6767
self._acceptResponse(msgID, data, sender)
6868
elif message.command != NOT_FOUND:
69-
# ban_score.process_message(message)
7069
self._acceptRequest(msgID, str(Command.Name(message.command)).lower(), data, sender, connection)
7170

7271
def _acceptResponse(self, msgID, data, sender):

net/wireprotocol.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
__author__ = 'chris'
2+
23
import socket
34
import nacl.signing
45
import nacl.hash
@@ -74,8 +75,8 @@ def receive_message(self, datagram):
7475
if len(datagram) < 166:
7576
self.log.warning("received datagram too small from %s, ignoring" % self.addr)
7677
return False
77-
m = Message()
7878
try:
79+
m = Message()
7980
m.ParseFromString(datagram)
8081
self.node = Node(m.sender.guid,
8182
m.sender.nodeAddress.ip,
@@ -94,13 +95,13 @@ def receive_message(self, datagram):
9495
pow_hash = h[40:]
9596
if int(pow_hash[:6], 16) >= 50 or m.sender.guid.encode("hex") != h[:40]:
9697
raise Exception('Invalid GUID')
98+
for processor in self.processors:
99+
if m.command in processor or m.command == NOT_FOUND:
100+
processor.receive_message(m, self.node, self.connection)
97101
except Exception:
98102
# If message isn't formatted property then ignore
99103
self.log.warning("received an invalid message from %s, ignoring" % self.addr)
100104
return False
101-
for processor in self.processors:
102-
if m.command in processor or m.command == NOT_FOUND:
103-
processor.receive_message(m, self.node, self.connection, self.ban_score)
104105

105106
def handle_shutdown(self):
106107
try:

ob.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
KSIZE = 20
66
ALPHA = 3
77

8-
TRANSACTION_FEE = 10000
8+
TRANSACTION_FEE = 15000
99

1010
LIBBITCOIN_SERVER = tcp://libbitcoin1.openbazaar.org:9091
1111
LIBBITCOIN_SERVER_TESTNET = tcp://libbitcoin2.openbazaar.org:9091

openbazaard.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ def on_bootstrap_complete(resp):
138138
libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVER_TESTNET, log=Logger(service="LibbitcoinClient"))
139139
else:
140140
libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVER, log=Logger(service="LibbitcoinClient"))
141+
heartbeat_server.libbitcoin = libbitcoin_client
141142

142143
# listeners
143144
nlistener = NotificationListenerImpl(ws_api, db)

0 commit comments

Comments
 (0)