Skip to content
This repository has been archived by the owner on Nov 15, 2021. It is now read-only.

Commit

Permalink
add coz seeds, change how headers/blocks are requested
Browse files Browse the repository at this point in the history
  • Loading branch information
localhuman committed Apr 3, 2018
1 parent 1ad4bc3 commit 68d577c
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 11 deletions.
25 changes: 19 additions & 6 deletions neo/Network/NeoNode.py
Expand Up @@ -212,14 +212,15 @@ def ProtocolReady(self):
self.AskForMoreBlocks()

# self.RequestPeerInfo()
pass

def AskForMoreHeaders(self):
# self.Log("asking for more headers...")
self.Log("asking for more headers...")
get_headers_message = Message("getheaders", GetBlocksPayload(hash_start=[BC.Default().CurrentHeaderHash]))
self.SendSerializedMessage(get_headers_message)

def AskForMoreBlocks(self):
reactor.callInThread(self.DoAskForMoreBlocks)
self.DoAskForMoreBlocks()

def DoAskForMoreBlocks(self):

Expand Down Expand Up @@ -260,8 +261,10 @@ def DoAskForMoreBlocks(self):
self.SendSerializedMessage(message)
else:
# self.Log("all caught up!!!!!! hashes is zero")
self.AskForMoreHeaders()
reactor.callLater(20, self.DoAskForMoreBlocks)
# self.RequestVersion()
# self.AskForMoreHeaders()
# reactor.callLater(15, self.AskForMoreHeaders)
reactor.callLater(7, self.DoAskForMoreBlocks)

def DoAskForSingleBlock(self, block_hash):
if block_hash not in self.myblockrequests:
Expand Down Expand Up @@ -297,6 +300,7 @@ def SendPeerInfo(self):

def RequestVersion(self):
"""Request the remote client version."""
self.Log("All caught up, requesting version")
m = Message("getversion")
self.SendSerializedMessage(m)

Expand All @@ -311,6 +315,7 @@ def HandleVersion(self, payload):
self.nodeid = self.Version.Nonce
self.Log("Remote version %s " % vars(self.Version))
self.SendVersion()
# self.AskForMoreHeaders()

def HandleVerack(self):
"""Handle the `verack` response."""
Expand Down Expand Up @@ -341,15 +346,23 @@ def HandleBlockHeadersReceived(self, inventory):
inventory (neo.Network.Inventory):
"""
inventory = IOHelper.AsSerializableWithType(inventory, 'neo.Network.Payloads.HeadersPayload.HeadersPayload')

self.Log("Received headers %s " % (len(inventory.Headers)))
if inventory is not None:
# self.Log("Headers %s " % inventory.Headers)
BC.Default().AddHeaders(inventory.Headers)

if len(inventory.Headers) == 1 and BC.Default().HeaderHeight - BC.Default().Height < 5:
self.DoAskForSingleBlock(inventory.Headers[0].Hash.ToBytes())

elif BC.Default().HeaderHeight < self.Version.StartHeight:
if BC.Default().HeaderHeight < self.Version.StartHeight:
self.AskForMoreHeaders()
else:
reactor.callLater(5, self.AskForMoreHeaders)
# else:
# self.AskForMoreBlocks()
# elif BC.Default().Height == BC.Default().HeaderHeight:
# print("Will ask for more headerS!")
# self.AskForMoreHeaders()

def HandleBlockReceived(self, inventory):
"""
Expand Down
4 changes: 2 additions & 2 deletions neo/Network/NodeLeader.py
Expand Up @@ -29,8 +29,8 @@ class NodeLeader():

_MissedBlocks = []

BREQPART = 10
NREQMAX = 50
BREQPART = 20
NREQMAX = 120
BREQMAX = 4000

KnownHashes = []
Expand Down
7 changes: 4 additions & 3 deletions neo/data/protocol.mainnet.json
Expand Up @@ -12,11 +12,12 @@
"02486fd15702c4490a26703112a5cc1d0923fd697a33406bd5a1c00e0013b09a70"
],
"SeedList": [
"13.58.252.110:10333",
"18.216.146.68:10333",
"172.31.4.71:10333",
"seed1.neo.org:10333",
"seed2.neo.org:10333",
"seed3.neo.org:10333",
"seed4.neo.org:10333",
"seed5.neo.org:10333"
"seed3.neo.org:10333"
],
"RPCList":[
"http://18.217.24.130:8080",
Expand Down

0 comments on commit 68d577c

Please sign in to comment.