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)
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)
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)
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)
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')))
def __init__(self, dir): self.dir=dir self.pub, self.priv = loadKeys(self.dir)
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)
def whoami(args): dir=args[0] pub, priv = loadKeys(dir) print(encode(pub.save_pkcs1('DER')))