Ejemplo n.º 1
0
def request(request, address):
	conn = bitcoin.connect_to_local()
	result = False
        try:
		fileRequest = Request.objects.get(address=address)
	except:
		return HttpResponse(simplejson.dumps(False))
	try:
		if conn.getreceivedbyaddress(address, settings.MIN_CONFIRMATIONS) >= \
			+ fileRequest.storedFile.amount:
			result = settings.ROOT_URL + "/download/" + address
	except:
		result = False
	return HttpResponse(simplejson.dumps(result))
Ejemplo n.º 2
0
def getLink(request, uuid):
	try:
		destFile = StoredFile.objects.get(uuid=uuid)
	except:
		return HttpResponse(simplejson.dumps(False))
	conn = bitcoin.connect_to_local()
	result = dict()
	result['bitcoinAddress'] = conn.getnewaddress()
	result['amount'] = destFile.amount

	request = Request(storedFile=destFile,
			address=result['bitcoinAddress'])
	request.save()

	return HttpResponse(simplejson.dumps(result))
Ejemplo n.º 3
0
def download(request, address):
	try:
		fileRequest = Request.objects.get(address=address)
	except:
		return HttpResponse('false')
	print dir(fileRequest.storedFile)
	uuid = fileRequest.storedFile.uuid
	filename = settings.MEDIA_ROOT + '/' + uuid
	wrapper = FileWrapper(file(filename))
	response = HttpResponse(wrapper, content_type='data/unknown')
	response['Content-Length'] = os.path.getsize(filename)
	conn = bitcoin.connect_to_local()
	conn.sendtoaddress(fileRequest.storedFile.destAddress, fileRequest.storedFile.amount)
	fileRequest.delete()
	
	return response
Ejemplo n.º 4
0
'''
Test script
*WARNING* Don't run this on a production bitcoin server! *WARNING*
Only on the test network.
'''
import sys
sys.path.append('../src')

import bitcoin
from bitcoin.exceptions import BitcoinException,InsufficientFunds

if __name__ == "__main__":
    conn = bitcoin.connect_to_local()

    assert(type(conn.getblockcount()) is int)
    assert(type(conn.getblocknumber()) is int)
    assert(type(conn.getconnectioncount()) is int)
    assert(type(conn.getdifficulty()) is float)
    assert(type(conn.getgenerate()) is bool)
    conn.setgenerate(True)
    conn.setgenerate(True, 2)
    conn.setgenerate(False)
    assert(type(conn.gethashespersec()) is int)
    account = "testaccount"
    account2 = "testaccount2"
    bitcoinaddress = conn.getnewaddress(account)
    conn.setaccount(bitcoinaddress, account)
    address = conn.getaccountaddress(account)
    address2 = conn.getaccountaddress(account2)
    assert(conn.getaccount(address) == account) 
    addresses = conn.getaddressesbyaccount(account)