Exemple #1
0
	def createRawT(this, message):
			inputSum=0
			inputs=[]
			for x in this.listUnspent():
				inputs.append({
					'txid':x['txid'],
					'vout':x['vout']
					})
				inputSum+=x['amount']
			#print inputs

			outputSum=0
			outputs={}
			
			i=0
			for char in message:
				if i <len(charAddrs):
					outputs[charAddrs[i]]=ord(char)*CHARCOST
					outputSum+=(ord(char)*CHARCOST)
					
					i+=1
				
			outputs[garbageAddr]=(inputSum-outputSum-MINING_FEE)


			r=connect.sendCommand('createrawtransaction', [inputs, outputs])
			
			if DEBUG:
				r2=connect.sendCommand('decoderawtransaction', [r.json()['result']])
				pprint.pprint(r2.json())
			
			return r
Exemple #2
0
def sentCharTxs():
		charTxs=[]
		res=connect.sendCommand('listtransactions', ['', 10000])
		for r in res.json()['result']:
			
			if isCharAddr(r['address']):
				#pprint.pprint(r['txid'])
				charTxs.append(r['txid'])
		charTxs=set(charTxs)
		return charTxs
Exemple #3
0
	def listUnspent(this):
		returns=[]
		res=connect.sendCommand('listunspent', [])
		for r in res.json()['result']:
			#print r
		
			if r['address']==this.addr:
				returns.append(r)
				
				
		return returns
Exemple #4
0
def decodeCharTransactions():
	charTxs=sentCharTxs()
	
	for txid in charTxs:
		if validVote(txid):
			print('displaying vote with txid '+str(txid)+":")
			transaction=connect.sendCommand('gettransaction', [txid]).json()
			details=transaction['result']['details']
			
			addrSorted={}
			for x in details:
				if x['category']=='receive':
					a=x['address']
					addrSorted[a]=x
			msg=getCharStr(addrSorted)
			print(msg)
Exemple #5
0
def sentCharDebug():
	res=connect.sendCommand('listreceivedbyaddress', [])
	#pprint.pprint(res.json())
	#print 'first 5 char addrs are:'
	#for i in range(0, 5):
		#print charAddrs[i]
	print '\n addrs in lis received:'
	for r in res.json()['result']:
		#print r['address']
		for q in charAddrs[0:10]:
			ra=r['address'].rstrip()
			q=q.rstrip()
			
			print 'now comparing:'
			print ra
			#print len(r['address'])
			print q
			#print len(q)
			if ra==q:
				print '    match!'
			else:
				print 'no match'
Exemple #6
0
def printreadable(hexed):
	pprint.pprint(connect.sendCommand('decoderawtransaction', [hexed]).json())
Exemple #7
0
	def sayPassphrase(this, t):
		connect.sendCommand('walletpassphrase', [this.phrase, t])
Exemple #8
0
def fundVoter(voter):
	c=connect.sendCommand("walletpassphrase", [connect.phrase, 1])
	#print c.json()
	d=connect.sendCommand("sendtoaddress", [voter.addr, 0.1])
	print d.json()
Exemple #9
0
	def sendRawT(this, rawt):
		r=connect.sendCommand('sendrawtransaction', [rawt])
		return r
Exemple #10
0
	def signRawT(this, rawt):
		r=connect.sendCommand('signrawtransaction', [rawt.json()['result']])
		#pprint.pprint(r.json())
		return r