Casey Rodarmor
10 years ago
4 changed files with 2 additions and 346 deletions
@ -1,8 +0,0 @@ |
|||||||
### BitRPC |
|
||||||
Allows for sending of all standard Bitcoin commands via RPC rather than as command line args. |
|
||||||
|
|
||||||
### Looking for Wallet Tools? |
|
||||||
BitRPC.py is able to do the exact same thing as `walletchangepass.py` and `walletunlock.py`. Their respective commands in BitRPC.py are: |
|
||||||
|
|
||||||
bitrpc.py walletpassphrasechange |
|
||||||
bitrpc.py walletpassphrase |
|
@ -1,335 +0,0 @@ |
|||||||
from jsonrpc import ServiceProxy |
|
||||||
import sys |
|
||||||
import string |
|
||||||
import getpass |
|
||||||
|
|
||||||
# ===== 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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "encryptwallet": |
|
||||||
try: |
|
||||||
pwd = getpass.getpass(prompt="Enter passphrase: ") |
|
||||||
pwd2 = getpass.getpass(prompt="Repeat passphrase: ") |
|
||||||
if pwd == pwd2: |
|
||||||
access.encryptwallet(pwd) |
|
||||||
print "\n---Wallet encrypted. Server stopping, restart to run with encrypted wallet---\n" |
|
||||||
else: |
|
||||||
print "\n---Passphrases do not match---\n" |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getaccount": |
|
||||||
try: |
|
||||||
addr = raw_input("Enter a Bitcoin address: ") |
|
||||||
print access.getaccount(addr) |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getaccountaddress": |
|
||||||
try: |
|
||||||
acct = raw_input("Enter an account name: ") |
|
||||||
print access.getaccountaddress(acct) |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getaddressesbyaccount": |
|
||||||
try: |
|
||||||
acct = raw_input("Enter an account name: ") |
|
||||||
print access.getaddressesbyaccount(acct) |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getblockbycount": |
|
||||||
try: |
|
||||||
height = raw_input("Height: ") |
|
||||||
print access.getblockbycount(height) |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getblockcount": |
|
||||||
try: |
|
||||||
print access.getblockcount() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getblocknumber": |
|
||||||
try: |
|
||||||
print access.getblocknumber() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getconnectioncount": |
|
||||||
try: |
|
||||||
print access.getconnectioncount() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getdifficulty": |
|
||||||
try: |
|
||||||
print access.getdifficulty() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getgenerate": |
|
||||||
try: |
|
||||||
print access.getgenerate() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "gethashespersec": |
|
||||||
try: |
|
||||||
print access.gethashespersec() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getinfo": |
|
||||||
try: |
|
||||||
print access.getinfo() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getnewaddress": |
|
||||||
try: |
|
||||||
acct = raw_input("Enter an account name: ") |
|
||||||
try: |
|
||||||
print access.getnewaddress(acct) |
|
||||||
except: |
|
||||||
print access.getnewaddress() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "gettransaction": |
|
||||||
try: |
|
||||||
txid = raw_input("Enter a transaction ID: ") |
|
||||||
print access.gettransaction(txid) |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "getwork": |
|
||||||
try: |
|
||||||
data = raw_input("Data (optional): ") |
|
||||||
try: |
|
||||||
print access.gettransaction(data) |
|
||||||
except: |
|
||||||
print access.gettransaction() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "help": |
|
||||||
try: |
|
||||||
cmd = raw_input("Command (optional): ") |
|
||||||
try: |
|
||||||
print access.help(cmd) |
|
||||||
except: |
|
||||||
print access.help() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "listaccounts": |
|
||||||
try: |
|
||||||
mc = raw_input("Minimum confirmations (optional): ") |
|
||||||
try: |
|
||||||
print access.listaccounts(mc) |
|
||||||
except: |
|
||||||
print access.listaccounts() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "setaccount": |
|
||||||
try: |
|
||||||
addr = raw_input("Address: ") |
|
||||||
acct = raw_input("Account:") |
|
||||||
print access.setaccount(addr,acct) |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
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 Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "settxfee": |
|
||||||
try: |
|
||||||
amt = raw_input("Amount:") |
|
||||||
print access.settxfee(amt) |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "stop": |
|
||||||
try: |
|
||||||
print access.stop() |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "validateaddress": |
|
||||||
try: |
|
||||||
addr = raw_input("Address: ") |
|
||||||
print access.validateaddress(addr) |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "walletpassphrase": |
|
||||||
try: |
|
||||||
pwd = getpass.getpass(prompt="Enter wallet passphrase: ") |
|
||||||
access.walletpassphrase(pwd, 60) |
|
||||||
print "\n---Wallet unlocked---\n" |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
elif cmd == "walletpassphrasechange": |
|
||||||
try: |
|
||||||
pwd = getpass.getpass(prompt="Enter old wallet passphrase: ") |
|
||||||
pwd2 = getpass.getpass(prompt="Enter new wallet passphrase: ") |
|
||||||
access.walletpassphrasechange(pwd, pwd2) |
|
||||||
print |
|
||||||
print "\n---Passphrase changed---\n" |
|
||||||
except Exception as inst: |
|
||||||
print inst |
|
||||||
|
|
||||||
else: |
|
||||||
print "Command not found or not supported" |
|
Loading…
Reference in new issue