Ejemplo n.º 1
0
def _test():
    from crypt import signed
    from lib import packetid

    lg.set_debug_level(24)
    A("init")
    A().offline_mode = True
    A("start")
    coins = []
    for _ in xrange(5):
        coin = coins_io.storage_contract_open("http://some.id-host.org/alice_customer.xml", 3600, 4096)
        if coins_io.verify_coin_signature(coin):
            coins.append(coin)
        else:
            print coin
            sys.exit()
    outpacket = signed.Packet(
        commands.Coin(),
        my_id.getLocalID(),
        my_id.getLocalID(),
        packetid.UniqueID(),
        json.dumps(coins),
        "http://server.com/id.xml",
    )
    reactor.callLater(0.1, callback.run_inbox_callbacks, outpacket, None, "finished", "")
    # reactor.callLater(5.1, A, 'shutdown')
    reactor.run()
Ejemplo n.º 2
0
 def _on_inbox_packet(self, newpacket, info, status, error_message):
     if status != "finished":
         return False
     if newpacket.Command == commands.Coin():
         coins_list = coins_io.read_coins_from_packet(newpacket)
         if not coins_list:
             # p2p_service.SendFail(newpacket, 'failed to read coins from packet')
             return False
         new_coins = []
         for acoin in coins_list:
             if not coins_io.verify_coin_signature(acoin):
                 lg.warn("signature verification failed")
                 continue
             if coins_io.validate_coin(acoin):
                 continue
             new_coins.append(acoin)
         if not new_coins:
             # p2p_service.SendFail(newpacket, 'did not received any coins to mine')
             return False
         for coin in new_coins:
             self.automat("new-data-received", coin)
         return True
     return False