def s_to_db(c): response = networking.send_command(['localhost', custom.database_port], c) if (type(response) == dict and 'error' in response): time.sleep(0.001) log('s to db failed at ' + str(c)) return s_to_db(c) else: return response
def s_to_db(c): response=networking.send_command(['localhost', custom.database_port], c) if (type(response)==dict and 'error' in response): time.sleep(0.001) log('s to db failed at '+str(c)) return s_to_db(c) else: return response
def s_to_db(c): response = networking.send_command(["localhost", custom.database_port], c) if type(response) == dict and "error" in response: time.sleep(0.001) log("s to db failed at " + str(c)) return s_to_db(c) else: return response
def main(): info=sys.argv peer=['127.0.0.1', custom.basicd_port] p={'command':sys.argv[1:]} if len(p['command'])==0: p['command'].append(' ') response=networking.send_command(peer, p, 5) if tools.can_unpack(response): response=tools.unpackage(response) if type(response)==type({'a':1}): if 'error' in response: print('basiccoin is probably off. Use command: "python threads.py" to turn it on. (you may need to reboot it a couple times to get it working)') return(response)
def main(): info = sys.argv peer = ['127.0.0.1', custom.basicd_port] p = {'command': sys.argv[1:]} if len(p['command']) == 0: p['command'].append(' ') response = networking.send_command(peer, p, 5) if tools.can_unpack(response): response = tools.unpackage(response) if type(response) == type({'a': 1}): if 'error' in response: print( 'basiccoin is probably off. Use command: "python threads.py" to turn it on. (you may need to reboot it a couple times to get it working)' ) return (response)
def peer_check(peer, DB): cmd=(lambda x: networking.send_command(peer, x)) block_count=cmd({'type':'blockCount'}) if type(block_count)!=type({'a':1}): return if 'error' in block_count.keys(): return length=copy.deepcopy(DB['length']) us=copy.deepcopy(DB['diffLength']) them=block_count['diffLength'] ahead=length-block_count['length'] if them < us and ahead>0:#if we are ahead of them cmd({'type':'pushblock', 'block':blockchain.db_get(block_count['length']+1, DB)}) return [] if length<0: return [] if us == them:#if we are on the same block, ask for any new txs block=blockchain.db_get(length, DB) if 'recent_hash' in block_count: if tools.det_hash(block)!=block_count['recent_hash']: blockchain.delete_block() #print('WE WERE ON A FORK. time to back up.') return [] my_txs=DB['txs'] txs=cmd({'type':'txs'}) for tx in txs: DB['suggested_txs'].append(tx) pushers=[x for x in my_txs if x not in txs] for push in pushers: cmd({'type':'pushtx', 'tx':push}) return [] start=length-2 if start<0: start=0 if ahead>custom.download_many: end=length+custom.doanload_many-1 else: end=block_count['length'] blocks= cmd({'type':'rangeRequest', 'range':[start, end]}) if type(blocks)!=type([1,2]): return [] times=2 while fork_check(blocks, DB) and times>0: times-=1 blockchain.delete_block(DB) for block in blocks: DB['suggested_blocks'].append(block)
def cmd(x): return networking.send_command(peer, x)
def cmd(peer, x): #return networking.send_command(peer, x) if type(peer)!=list: peer=tools.peer_split(peer) return networking.send_command(peer, x)
def connect(p): peer = ['localhost', custom.api_port] response = networking.send_command(peer, p, 5) if tools.can_unpack(response): response = tools.unpackage(response) return response
def cmd(peer, x): return networking.send_command(peer, x)
def cmd(peer, x): return networking.send_command(peer, x) def download_blocks(peer, DB, peers_block_count, length):
def connect(p): peer=['localhost', custom.api_port] response=networking.send_command(peer, p, 5) if tools.can_unpack(response): response=tools.unpackage(response) return response
def cmd(peer, x): if type(peer) != list: peer = tools.peer_split(peer) return networking.send_command(peer, x)