예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
def signup(args):
    username = args[0]
    token = args[1]

    if not os.path.exists("GitBank/id_rsa.pub"):
        genKeys("GitBank")

        pub, priv = loadKeys()

        agh = Github(username, token)
        agh.issues.comment("blanu/CreditCoin", 1, pub)
예제 #4
0
파일: recv.py 프로젝트: antiface/CreditCoin
monocle.init('tornado')

from monocle.stack import eventloop
from monocle.stack.network import add_service, Service, ConnectionLost

from coins import Coin, Coins
from keys import loadKeys, loadPrivate, loadPublic
from util import encode, decode, epoch
from receipts import Receipts, Send, Receive

dir=sys.argv[1]

cs=Coins()
cs.load(dir+'/coins.dat')

(pub, priv) = loadKeys(dir)

@_o
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)
  
예제 #5
0
import sys
import time
import random
import struct

from keys import loadKeys
from coins import Coins
from util import encode

dir=sys.argv[1]

pub, priv = loadKeys(dir)
print(encode(pub.save_pkcs1('DER')))
예제 #6
0
파일: mint.py 프로젝트: antiface/CreditCoin
 def __init__(self, dir):
   self.dir=dir
   self.pub, self.priv = loadKeys(self.dir)
예제 #7
0
파일: list.py 프로젝트: antiface/CreditCoin
import time
import random
import struct

from keys import loadKeys
from coins import Coins
from receipts import Create, Receipts

pub, priv = loadKeys()

cs=Coins()
cs.load('coins.dat')
for coin in cs.coins:
  print(coin.sig)
예제 #8
0
def whoami(args):
  dir=args[0]

  pub, priv = loadKeys(dir)
  print(encode(pub.save_pkcs1('DER')))