def run(self): ec = ec_generate_key(u"low") self._my_member = Member.get_instance(ec_to_public_bin(ec), ec_to_private_bin(ec), sync_with_database=True) self.caller(self.test_incoming_barter_record)
def create_bc3_community(dispersy): ec = ec_generate_key(u"very-low") private_key = ec_to_private_bin(ec) public_key = ec_to_public_bin(ec) my_member = dispersy.get_member(public_key, private_key) c = BarterCommunity.create_community(dispersy, my_member, DummySwiftProcess()) logger.info("created community with cid " + c.cid.encode('hex')) with open(os.path.join(os.environ["PROJECTROOT"], "tmp", "bc3_master"), "w") as f: print >>f, c._master_member.public_key.encode("hex"), c._master_member.mid.encode("hex")
def load_community(cls, master): dispersy = Dispersy.get_instance() try: # test if this community already exists classification, = next(dispersy.database.execute(u"SELECT classification FROM community WHERE master = ?", (master.database_id,))) except StopIteration: # join the community with a new my_member, using a cheap cryptography key ec = ec_generate_key(u"NID_secp160r1") return cls.join_community(master, Member(ec_to_public_bin(ec), ec_to_private_bin(ec))) else: if classification == cls.get_classification(): return super(EffortCommunity, cls).load_community(master) else: raise RuntimeError("Unable to load an EffortCommunity that has been killed")
def load_community(cls, master, swift_process): dispersy = Dispersy.get_instance() try: # test if this community already exists classification, = next(dispersy.database.execute(u"SELECT classification FROM community WHERE master = ?", (master.database_id,))) except StopIteration: # join the community with a new my_member, using a cheap cryptography key ec = ec_generate_key(u"NID_secp160r1") return cls.join_community(master, Member(ec_to_public_bin(ec), ec_to_private_bin(ec)), swift_process) else: if classification == cls.get_classification(): return super(EffortCommunity, cls).load_community(master, swift_process) else: raise RuntimeError("Unable to load an EffortCommunity that has been killed")
def setup_peer_dir(peers_directory, peer_count): for i in range(peer_count): td = peers_directory+"/"+"%05d" %(i+1) if not isdir(td): makedirs(td) with open(peers_directory + "/peer.count", "w") as f: f.write("%d\n" %(peer_count)) with open(peers_directory + "/peer-keys", 'w') as f: for i in range(peer_count): rsa = ec_generate_key(u"low") f.write("%(id)s %(ip)s %(port)d %(public_key)s %(private_key)s\n" % \ {'id': i+1, #'peer-%05d' % i, 'ip': '0.0.0.0', 'port': 12000 + i, 'public_key': ec_to_public_bin(rsa).encode("HEX"), 'private_key': ec_to_private_bin(rsa).encode("HEX") } ) for node in get_nodes(peers_directory): open(node+"/data/bartercast.log", "w").close() open(node+"/data/availability.log", "w").close()
def setup_peer_dir(peers_directory, peer_count): for i in range(peer_count): td = peers_directory + "/" + "%05d" % (i + 1) if not isdir(td): makedirs(td) with open(peers_directory + "/peer.count", "w") as f: f.write("%d\n" % (peer_count)) with open(peers_directory + "/peer-keys", 'w') as f: for i in range(peer_count): rsa = ec_generate_key(u"low") f.write("%(id)s %(ip)s %(port)d %(public_key)s %(private_key)s\n" % \ {'id': i+1, #'peer-%05d' % i, 'ip': '0.0.0.0', 'port': 12000 + i, 'public_key': ec_to_public_bin(rsa).encode("HEX"), 'private_key': ec_to_private_bin(rsa).encode("HEX") } ) for node in get_nodes(peers_directory): open(node + "/data/bartercast.log", "w").close() open(node + "/data/availability.log", "w").close()
def run(self): ec = ec_generate_key(u"low") self._my_member = Member.get_instance(ec_to_public_bin(ec), ec_to_private_bin(ec), sync_with_database=True) self.caller(self.test_incoming_channel_propagate) self.caller(self.test_outgoing_channel_propagate)
if __name__ == "__main__": from optparse import OptionParser parser = OptionParser() parser.add_option( "--total-peers", help= "Total number of peers to generate ip:port and key combinations. Default 50", type=int, default=50) parser.add_option( "--port-start", help="Port number to start assigning from. Default 12000", default=12000) parser.add_option("-o", help="Output file. Default \"../peers/peer-keys\"", default="../peers/peer-keys") options, _ = parser.parse_args() with open(options.o, 'wb') as nodefp: for i in xrange(0, options.total_peers): rsa = ec_generate_key(u"low") nodefp.write("%(id)s %(ip)s %(port)d %(public_key)s %(private_key)s\n" % \ {'id': i+1, #'peer-%05d' % i, 'ip': '0.0.0.0', 'port': options.port_start + i, 'public_key': ec_to_public_bin(rsa).encode("HEX"), 'private_key': ec_to_private_bin(rsa).encode("HEX") } )
# The list is in the following format: # # <peername> <ip> <port> <public key> <private key> # # The public and private keys come from an eleptic curve # key, generated during runtime for each peer # # Use ./ec-generator.py --help for help on the parameters # from Tribler.dispersy.crypto import ec_generate_key, ec_to_public_bin, ec_to_private_bin if __name__ == "__main__": from optparse import OptionParser parser = OptionParser() parser.add_option("--total-peers", help="Total number of peers to generate ip:port and key combinations. Default 50", type=int, default=50) parser.add_option("--port-start", help="Port number to start assigning from. Default 12000", default=12000) parser.add_option("-o", help="Output file. Default \"../peers/peer-keys\"", default="../peers/peer-keys") options, _ = parser.parse_args() with open(options.o, 'wb') as nodefp: for i in xrange(0, options.total_peers): rsa = ec_generate_key(u"low") nodefp.write("%(id)s %(ip)s %(port)d %(public_key)s %(private_key)s\n" % \ {'id': i+1, #'peer-%05d' % i, 'ip': '0.0.0.0', 'port': options.port_start + i, 'public_key': ec_to_public_bin(rsa).encode("HEX"), 'private_key': ec_to_private_bin(rsa).encode("HEX") } )