コード例 #1
0
ファイル: peers_check.py プロジェクト: mygirl8893/augur-core
def trade_peers(peer):
    peers = tools.db_get('peers')
    peer_length = peers[peer]['length']
    peer_diffLength = peers[peer]['diffLength']
    their_peers = cmd(peer, {'type': 'peers'})
    if type(
            their_peers
    ) == list:  #compatibility so that I can download from old-fashioned nodes
        out = {}
        for p in their_peers:
            out[p[0][0]] = tools.empty_peer()
            out[p[0][0]]['port'] = p[0][1]
        their_peers = out  #end of compatibility patch.
    #tools.log('their_peers: ' +str(their_peers))
    if 'error' in their_peers.keys(): return {'error': 'cannot connect'}

    def minus(a, b):
        return filter(lambda p: p not in b, a)

    to_them = minus(peers.keys(), their_peers.keys())
    to_me = minus(their_peers.keys(), peers.keys())
    for p in to_me:
        if not ':' in p:  #these two lines wont be necessary after the networking node finishes downloading the blockchain.
            p = p + ':' + str(their_peers[p]['port'])
        #tools.log('peer: ' +str(p))
        tools.add_peer(p)
    cmd(peer, {'type': 'recieve_peer', 'peers': to_them})
コード例 #2
0
ファイル: peers_check.py プロジェクト: BumblebeeBat/FlyingFox
def trade_peers(peer):
    peers=tools.local_get('peers')
    peer_length=peers[peer]['length']
    their_peers=cmd(peer, {'type':'peers'})
    if type(their_peers)!=dict: return {'error': 'cannot connect'}
    if 'error' in their_peers.keys(): return {'error': 'cannot connect'}
    def minus(a, b): return filter(lambda p: p not in b, a)
    to_them=minus(peers.keys(), their_peers.keys())
    to_me=minus(their_peers.keys(), peers.keys())
    for p in to_me:
        if not ':' in p:
            p=p+':'+str(their_peers[p]['port'])
        tools.log('peer: ' +str(p))
        tools.add_peer(p)
    cmd(peer, {'type':'recieve_peer', 'peers':to_them})
コード例 #3
0
def main(peers, DB):
    # Check on the peers to see if they know about more blocks than we do.
    #DB['peers_ranked']=[]
    p = tools.db_get('peers_ranked')
    if type(p) != list:
        time.sleep(3)
        return main(peers, DB)
    for peer in peers:
        tools.add_peer(peer, p)
    tools.db_put('peers_ranked', p)
    try:
        while True:
            if tools.db_get('stop'): return
            if len(peers) > 0:
                main_once(DB)
    except Exception as exc:
        tools.log(exc)
コード例 #4
0
ファイル: peers_check.py プロジェクト: AltCoinsLand/basiccoin
def main(peers, DB):
    # Check on the peers to see if they know about more blocks than we do.
    #DB['peers_ranked']=[]
    p=tools.db_get('peers_ranked')
    if type(p)!=list:
        time.sleep(3)
        return main(peers, DB)
    for peer in peers:
        tools.add_peer(peer, p)
    tools.db_put('peers_ranked', p)
    try:
        while True:
            if tools.db_get('stop'): return
            if len(peers)>0:
                main_once(DB)
    except Exception as exc:
        tools.log(exc)
コード例 #5
0
ファイル: peers_check.py プロジェクト: mxito3/ethereum-pos
def trade_peers(peer):
    peers = tools.local_get('peers')
    peer_length = peers[peer]['length']
    their_peers = cmd(peer, {'type': 'peers'})
    if type(their_peers) != dict: return {'error': 'cannot connect'}
    if 'error' in their_peers.keys(): return {'error': 'cannot connect'}

    def minus(a, b):
        return filter(lambda p: p not in b, a)

    to_them = minus(peers.keys(), their_peers.keys())
    to_me = minus(their_peers.keys(), peers.keys())
    for p in to_me:
        if not ':' in p:
            p = p + ':' + str(their_peers[p]['port'])
        tools.log('peer: ' + str(p))
        tools.add_peer(p)
    cmd(peer, {'type': 'recieve_peer', 'peers': to_them})
コード例 #6
0
ファイル: peers_check.py プロジェクト: Feretrius/augur-core
def trade_peers(peer):
    peers=tools.db_get('peers')
    peer_length=peers[peer]['length']
    peer_diffLength=peers[peer]['diffLength']
    their_peers=cmd(peer, {'type':'peers'})
    if type(their_peers)==list:#compatibility so that I can download from old-fashioned nodes
        out={}
        for p in their_peers:
            out[p[0][0]]=tools.empty_peer()
            out[p[0][0]]['port']=p[0][1]
        their_peers=out#end of compatibility patch.
    #tools.log('their_peers: ' +str(their_peers))
    if 'error' in their_peers.keys(): return {'error':'cannot connect'}
    def minus(a, b): 
        return filter(lambda p: p not in b, a)
    to_them=minus(peers.keys(), their_peers.keys())
    to_me=minus(their_peers.keys(), peers.keys())
    for p in to_me:
        if not ':' in p:#these two lines wont be necessary after the networking node finishes downloading the blockchain.
            p=p+':'+str(their_peers[p]['port'])
        #tools.log('peer: ' +str(p))
        tools.add_peer(p)
    cmd(peer, {'type':'recieve_peer', 'peers':to_them})
コード例 #7
0
ファイル: peer_recieve.py プロジェクト: coinami/coinami-pro
def recieve_peer(dic):
    peer = dic['peer']
    tools.add_peer(peer[0])
コード例 #8
0
def add_peer(args):
    ip = args[0]
    port = args[1]
    tools.add_peer([ip, port])
    return 'peer is added'
コード例 #9
0
def recieve_peer(dic, DB):
    if 'peers' in dic:
        map(tools.add_peer, dic['peers'])
    else:
        tools.add_peer(dic['peer'])
コード例 #10
0
def recieve_peer(dic, DB):
    if 'peers' in dic:
        map(tools.add_peer, dic['peers'])
    else:
        tools.add_peer(dic['peer'])
コード例 #11
0
ファイル: peer_recieve.py プロジェクト: coinami/coinami-pro
def recieve_peer(dic):
    peer = dic['peer']
    tools.add_peer(peer[0])
コード例 #12
0
def recieve_peer(dic, DB):
    peer = dic['peer']
    ps = tools.db_get('peers_ranked')
    if peer[0] not in map(lambda x: x[0][0], ps):
        tools.add_peer(peer)
コード例 #13
0
def recieve_peer(dic, DB):
    peer=dic['peer']
    ps=tools.db_get('peers_ranked')
    if peer[0] not in map(lambda x: x[0][0], ps):
        tools.add_peer(peer)