コード例 #1
1
ファイル: log.py プロジェクト: antiface/CreditCoin
import sys
import time
import random
import struct

from keys import loadKeys
from receipts import Receipts

dir=sys.argv[1]

receipts=Receipts()
receipts.load(dir+'/receipts.dat')
for receipt in receipts.receipts:
  print(receipt.cmd)
コード例 #2
0
ファイル: pavement.py プロジェクト: blanu/CreditCoin
def receive():
    (pub, priv) = loadKeys("GitBank")

    cs = Coins("GitBank")

    receipts = Receipts("GitBank")
    pending = receipts.findPending(pub)
    if len(pending) == 0:
        print("No pending coins")
    elif len(pending) == 1:
        print("1 pending coin")
    else:
        print(str(len(pending)) + " pending coins")
    for receipt in pending:
        print(receipt)

    if receipt.cmd != "send":
        print("Unknown command: " + str(receipt.cmd))
        return
    if receipt.args != pub:
        print("Not me: " + str(receipt.args) + " " + str(pub))
        return
    if not receipt.verify():
        print("Not verified")
        return
    cs.add(receipt.coin)

    receipt = Receive(None, pub, epoch(), receipt.coin, receipt.pub)
    receipt.setPrivate(priv)
    receipt.sign()
    receipts.add(receipt)
コード例 #3
0
ファイル: pavement.py プロジェクト: blanu/CreditCoin
def send(args):
    to = args[0]

    f = open("participants.json", "rb")
    participants = json.loads(f.read())
    f.close()

    if not to in participants:
        print("Unknown participant: " + str(to))
        return

    toPub = participants[to]
    to = loadPublic(toPub, format="PEM")

    (pub, priv) = loadKeys("GitBank")

    cs = Coins("GitBank")
    coin = cs.get()

    if not coin:
        print("No coins!")
        return

    receipt = Send(None, pub, epoch(), coin, to)
    receipt.setPrivate(priv)
    receipt.sign()

    receipts = Receipts("GitBank")
    receipts.add(receipt)
コード例 #4
0
def receipts_classification():
    """
    This API returns whether the image uploaded is a receipt or not.
    Call this api passing a coloured image.
    ---
    tags:
      - Image Analyzer
    consumes:
      - multipart/form-data
    produces: 
      -application/json
    parameters:
      - in: formData
        name: upfile
        type: file
        required: true
        description: Upload your file
    responses:
      500:
        description: Error, something went wrong!
      200:
        description: Detection success!
    """
    #logger=logging.getLogger(__name__)
    #logger.info("Calling /aesthetics")
    response = None
    iFile = request.files.getlist('upfile')[0]
    print iFile
    img = load_image(iFile)
    img = rotate_image(img, iFile)
    img = cv2.resize(img, (512, 512))
    img = img.transpose(2, 0, 1)
    model = Receipts(img)
    response = model.get_prediction()
    return jsonify(response)
コード例 #5
0
ファイル: mint.py プロジェクト: antiface/CreditCoin
  def create(self, proof=None):
    coins=Coins(self.dir)
    coin=coins.new(self.pub, self.priv)

    receipts=Receipts(self.dir)
    cr=Create(None, self.pub, epoch(), coin, proof)
    cr.setPrivate(self.priv)
    cr.sign()
    receipts.add(cr)
コード例 #6
0
ファイル: send.py プロジェクト: antiface/CreditCoin
def send(dir, coin, to):
 try:
  receipt=Send(None, pub, epoch(), coin, loadPublic(to))
  receipt.setPrivate(priv)
  receipt.sign()

  receipts=Receipts()
  receipts.load(dir+'/receipts.dat')
  receipts.add(receipt)

  smsg=json.dumps(receipt.save(True))

  print('sending')
  client=Client()
  yield client.connect('localhost', 7050)
  yield client.write(smsg+"\n")

  s=yield client.read_until("\n")
  msg=json.loads(s)
  receipt=Receive()
  receipt.load(msg)

  if receipt.cmd!='receive':
    print('Unknown command: '+str(receipt.cmd))
    return
  if receipt.args.save_pkcs1('DER')!=pub.save_pkcs1('DER'):
    print('Not me')
    return
  if not rsa.verify(str(receipt.sig), receipt.pub):
    print('Not verified')
    return

  cs.save(dir+'/coins.dat')
  receipts.add(receipt)
  print('saving '+str(len(receipts.receipts)))
  receipts.save(dir+'/receipts.dat')

  eventloop.halt()
 except Exception, e:
  print('Exception:')
  print(e)
  traceback.print_exc()
コード例 #7
0
ファイル: recv.py プロジェクト: antiface/CreditCoin
def handle_recv(conn):
  print('connected')
  s=yield conn.read_until("\n")
  print('read')
  print(s)
  smsg=json.loads(s)

  receipts=Receipts()
  receipts.load(dir+'/receipts.dat')  
  
  receipt=Send()
  receipt.load(smsg)
  
  if receipt.cmd!='send':
    print('Unknown command: '+str(receipt.cmd))
    return
  if receipt.args!=pub:
    print('Not me: '+str(receipt.args)+' '+str(pub))
    return
  if not rsa.verify(str(receipt.sig), receipt.pub):
    print('Not verified')
    return
  cs.add(receipt.coin)
  cs.save(dir+'/coins.dat')
  receipts.add(receipt)
  receipts.save(dir+'/receipts.dat')

  receipt=Receive(None, pub, epoch(), receipt.coin, receipt.pub)
  receipt.setPrivate(priv)
  receipt.sign()
  receipts.add(receipt)
  receipts.save(dir+'/receipts.dat')    

  smsg=json.dumps(receipt.save(True))

  print('sending')  
  print(smsg)
  yield conn.write(smsg+"\n")
  print('sent')