b881100aab
This is a minor change to bitrpc.py to conform with the formatting of the other python source code in the repo.
325 lines
8.9 KiB
Python
325 lines
8.9 KiB
Python
from jsonrpc import ServiceProxy
|
|
import sys
|
|
import string
|
|
|
|
# ===== BEGIN USER SETTINGS =====
|
|
# if you do not set these you will be prompted for a password for every command
|
|
rpcuser = ""
|
|
rpcpass = ""
|
|
# ====== END USER SETTINGS ======
|
|
|
|
|
|
if rpcpass == "":
|
|
access = ServiceProxy("http://127.0.0.1:8332")
|
|
else:
|
|
access = ServiceProxy("http://"+rpcuser+":"+rpcpass+"@127.0.0.1:8332")
|
|
cmd = sys.argv[1].lower()
|
|
|
|
if cmd == "backupwallet":
|
|
try:
|
|
path = raw_input("Enter destination path/filename: ")
|
|
print access.backupwallet(path)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getaccount":
|
|
try:
|
|
addr = raw_input("Enter a Bitcoin address: ")
|
|
print access.getaccount(addr)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getaccountaddress":
|
|
try:
|
|
acct = raw_input("Enter an account name: ")
|
|
print access.getaccountaddress(acct)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getaddressesbyaccount":
|
|
try:
|
|
acct = raw_input("Enter an account name: ")
|
|
print access.getaddressesbyaccount(acct)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getbalance":
|
|
try:
|
|
acct = raw_input("Enter an account (optional): ")
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
try:
|
|
print access.getbalance(acct, mc)
|
|
except:
|
|
print access.getbalance()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getblockbycount":
|
|
try:
|
|
height = raw_input("Height: ")
|
|
print access.getblockbycount(height)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getblockcount":
|
|
try:
|
|
print access.getblockcount()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getblocknumber":
|
|
try:
|
|
print access.getblocknumber()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getconnectioncount":
|
|
try:
|
|
print access.getconnectioncount()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getdifficulty":
|
|
try:
|
|
print access.getdifficulty()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getgenerate":
|
|
try:
|
|
print access.getgenerate()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "gethashespersec":
|
|
try:
|
|
print access.gethashespersec()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getinfo":
|
|
try:
|
|
print access.getinfo()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getnewaddress":
|
|
try:
|
|
acct = raw_input("Enter an account name: ")
|
|
try:
|
|
print access.getnewaddress(acct)
|
|
except:
|
|
print access.getnewaddress()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getreceivedbyaccount":
|
|
try:
|
|
acct = raw_input("Enter an account (optional): ")
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
try:
|
|
print access.getreceivedbyaccount(acct, mc)
|
|
except:
|
|
print access.getreceivedbyaccount()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getreceivedbyaddress":
|
|
try:
|
|
addr = raw_input("Enter a Bitcoin address (optional): ")
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
try:
|
|
print access.getreceivedbyaddress(addr, mc)
|
|
except:
|
|
print access.getreceivedbyaddress()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "gettransaction":
|
|
try:
|
|
txid = raw_input("Enter a transaction ID: ")
|
|
print access.gettransaction(txid)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "getwork":
|
|
try:
|
|
data = raw_input("Data (optional): ")
|
|
try:
|
|
print access.gettransaction(data)
|
|
except:
|
|
print access.gettransaction()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "help":
|
|
try:
|
|
cmd = raw_input("Command (optional): ")
|
|
try:
|
|
print access.help(cmd)
|
|
except:
|
|
print access.help()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "listaccounts":
|
|
try:
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
try:
|
|
print access.listaccounts(mc)
|
|
except:
|
|
print access.listaccounts()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "listreceivedbyaccount":
|
|
try:
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
incemp = raw_input("Include empty? (true/false, optional): ")
|
|
try:
|
|
print access.listreceivedbyaccount(mc, incemp)
|
|
except:
|
|
print access.listreceivedbyaccount()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "listreceivedbyaddress":
|
|
try:
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
incemp = raw_input("Include empty? (true/false, optional): ")
|
|
try:
|
|
print access.listreceivedbyaddress(mc, incemp)
|
|
except:
|
|
print access.listreceivedbyaddress()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "listtransactions":
|
|
try:
|
|
acct = raw_input("Account (optional): ")
|
|
count = raw_input("Number of transactions (optional): ")
|
|
frm = raw_input("Skip (optional):")
|
|
try:
|
|
print access.listtransactions(acct, count, frm)
|
|
except:
|
|
print access.listtransactions()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "move":
|
|
try:
|
|
frm = raw_input("From: ")
|
|
to = raw_input("To: ")
|
|
amt = raw_input("Amount:")
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
comment = raw_input("Comment (optional): ")
|
|
try:
|
|
print access.move(frm, to, amt, mc, comment)
|
|
except:
|
|
print access.move(frm, to, amt)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "sendfrom":
|
|
try:
|
|
frm = raw_input("From: ")
|
|
to = raw_input("To: ")
|
|
amt = raw_input("Amount:")
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
comment = raw_input("Comment (optional): ")
|
|
commentto = raw_input("Comment-to (optional): ")
|
|
try:
|
|
print access.sendfrom(frm, to, amt, mc, comment, commentto)
|
|
except:
|
|
print access.sendfrom(frm, to, amt)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "sendmany":
|
|
try:
|
|
frm = raw_input("From: ")
|
|
to = raw_input("To (in format address1:amount1,address2:amount2,...): ")
|
|
mc = raw_input("Minimum confirmations (optional): ")
|
|
comment = raw_input("Comment (optional): ")
|
|
try:
|
|
print access.sendmany(frm,to,mc,comment)
|
|
except:
|
|
print access.sendmany(frm,to)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "sendtoaddress":
|
|
try:
|
|
to = raw_input("To (in format address1:amount1,address2:amount2,...): ")
|
|
amt = raw_input("Amount:")
|
|
comment = raw_input("Comment (optional): ")
|
|
commentto = raw_input("Comment-to (optional): ")
|
|
try:
|
|
print access.sendtoaddress(to,amt,comment,commentto)
|
|
except:
|
|
print access.sendtoaddress(to,amt)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "setaccount":
|
|
try:
|
|
addr = raw_input("Address: ")
|
|
acct = raw_input("Account:")
|
|
print access.setaccount(addr,acct)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "setgenerate":
|
|
try:
|
|
gen= raw_input("Generate? (true/false): ")
|
|
cpus = raw_input("Max processors/cores (-1 for unlimited, optional):")
|
|
try:
|
|
print access.setgenerate(gen, cpus)
|
|
except:
|
|
print access.setgenerate(gen)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "settxfee":
|
|
try:
|
|
amt = raw_input("Amount:")
|
|
print access.settxfee(amt)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "stop":
|
|
try:
|
|
print access.stop()
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "validateaddress":
|
|
try:
|
|
addr = raw_input("Address: ")
|
|
print access.validateaddress(addr)
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "walletpassphrase":
|
|
try:
|
|
pwd = raw_input("Enter wallet passphrase: ")
|
|
access.walletpassphrase(pwd, 60)
|
|
print "\n---Wallet unlocked---\n"
|
|
except:
|
|
print "\n---An error occurred---\n"
|
|
|
|
elif cmd == "walletpassphrasechange":
|
|
try:
|
|
pwd = raw_input("Enter old wallet passphrase: ")
|
|
pwd2 = raw_input("Enter new wallet passphrase: ")
|
|
access.walletpassphrasechange(pwd, pwd2)
|
|
print
|
|
print "\n---Passphrase changed---\n"
|
|
except:
|
|
print
|
|
print "\n---An error occurred---\n"
|
|
print
|
|
|
|
else:
|
|
print "Command not found or not supported"
|