func GetGenerate(c appengine.Context, id interface{}) (map[string]interface{}, os.Error) {
	//Returns true or false whether bitcoind is currently generating hashes
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getgenerate", id, nil)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func WalletPassPhrase(c appengine.Context, id interface{}, passphrase, timeout interface{}) (map[string]interface{}, os.Error) {
	//Stores the wallet decryption key in memory for <timeout> seconds.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "walletpassphrase", id, []interface{}{passphrase, timeout})
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetAccountAddress(c appengine.Context, id interface{}, account []interface{}) (map[string]interface{}, os.Error) {
	//Returns the current bitcoin address for receiving payments to this account.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getaccountaddress", id, account)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func Stop(c appengine.Context, id interface{}) (map[string]interface{}, os.Error) {
	//Stop bitcoin server.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "stop", id, nil)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func VerifyMessage(c appengine.Context, id interface{}, signature, message interface{}) (map[string]interface{}, os.Error) {
	//Verify a signed message.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "verifymessage", id, []interface{}{signature, message})
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func SetAccount(c appengine.Context, id interface{}, data []interface{}) (map[string]interface{}, os.Error) {
	//Sets the account associated with the given address. Assigning address that is already assigned to the same account will create a new address associated with that account.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "setaccount", id, data)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetAccount(c appengine.Context, id interface{}, bitcoinaddress []interface{}) (map[string]interface{}, os.Error) {
	//Returns the account associated with the given address.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getaccount", id, bitcoinaddress)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetReceivedByAddress(c appengine.Context, id interface{}, data []interface{}) (map[string]interface{}, os.Error) {
	//Returns the total amount received by <bitcoinaddress> in transactions with at least [minconf] confirmations. While some might consider this obvious, value reported by this only considers *receiving* transactions. It does not check payments that have been made *from* this address. In other words, this is not "getaddressbalance".
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getreceivedbyaddress", id, data)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func Help(c appengine.Context, id interface{}, command string) (map[string]interface{}, os.Error) {
	//List commands, or get help for a command.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "help", id, []interface{}{command})
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func BackupWallet(c appengine.Context, id interface{}, destination []interface{}) (map[string]interface{}, os.Error) {
	//Safely copies wallet.dat to destination, which can be a directory or a path with filename.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "backupwallet", id, destination)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetReceivedByAccount(c appengine.Context, id interface{}, data []interface{}) (map[string]interface{}, os.Error) {
	//Returns the total amount received by addresses with [account] in transactions with at least [minconf] confirmations. If [account] not provided return will include all transactions to all accounts. (version 0.3.24-beta)
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getreceivedbyaccount", id, data)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetNewAddress(c appengine.Context, id interface{}, account []interface{}) (map[string]interface{}, os.Error) {
	//Returns a new bitcoin address for receiving payments. If [account] is specified (recommended), it is added to the address book so payments received with the address will be credited to [account].
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getnewaddress", id, account)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetInfo(c appengine.Context, id interface{}) (map[string]interface{}, os.Error) {
	//Returns an object containing various state info.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getinfo", id, nil)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetHashesPerSec(c appengine.Context, id interface{}) (map[string]interface{}, os.Error) {
	//Returns a recent hashes per second performance measurement while generating.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "gethashespersec", id, nil)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func SendMany(c appengine.Context, id interface{}, data []interface{}) (map[string]interface{}, os.Error) {
	//amounts are double-precision floating point numbers
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "sendmany", id, data)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func KeyPoolRefill(c appengine.Context, id interface{}) (map[string]interface{}, os.Error) {
	//Fills the keypool, requires wallet passphrase to be set.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "keypoolrefill", id, nil)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func SendToAddress(c appengine.Context, id interface{}, data []interface{}) (map[string]interface{}, os.Error) {
	//<amount> is a real and is rounded to 8 decimal places. Returns the transaction ID <txid> if successful.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "sendtoaddress", id, data)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func ListAccounts(c appengine.Context, id interface{}, minconf interface{}) (map[string]interface{}, os.Error) {
	//Returns Object that has account names as keys, account balances as values.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "listaccounts", id, []interface{}{minconf})
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func SetTxFee(c appengine.Context, id interface{}, amount []interface{}) (map[string]interface{}, os.Error) {
	//<amount> is a real and is rounded to the nearest 0.00000001
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "settxfee", id, amount)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func ListSinceBlock(c appengine.Context, id interface{}, blockid, targetconfirmations interface{}) (map[string]interface{}, os.Error) {
	//Get all transactions in blocks since block [blockid], or all transactions if omitted.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "listsinceblock", id, []interface{}{blockid, targetconfirmations})
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func SignMessage(c appengine.Context, id interface{}, bitcoinaddress, message interface{}) (map[string]interface{}, os.Error) {
	//Sign a message with the private key of an address.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "signmessage", id, []interface{}{bitcoinaddress, message})
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func EncryptWallet(c appengine.Context, id interface{}, passphrase []interface{}) (map[string]interface{}, os.Error) {
	//Encrypts the wallet with <passphrase>.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "encryptwallet", id, passphrase)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func ValidateAddress(c appengine.Context, id interface{}, bitcoinaddress interface{}) (map[string]interface{}, os.Error) {
	//Return information about <bitcoinaddress>.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "validateaddress", id, []interface{}{bitcoinaddress})
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func ListTransactions(c appengine.Context, id interface{}, account, count, from interface{}) (map[string]interface{}, os.Error) {
	//Returns up to [count] most recent transactions skipping the first [from] transactions for account [account]. If [account] not provided will return recent transaction from all accounts.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "listtransactions", id, []interface{}{account, count, from})
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func WalletLock(c appengine.Context, id interface{}) (map[string]interface{}, os.Error) {
	//Removes the wallet encryption key from memory, locking the wallet. After calling this method, you will need to call walletpassphrase again before being able to call any methods which require the wallet to be unlocked.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "walletlock", id, nil)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func Move(c appengine.Context, id interface{}, data []interface{}) (map[string]interface{}, os.Error) {
	//Move from one account in your wallet to another
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "move", id, data)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func WalletPassPhraseChange(c appengine.Context, id interface{}, data []interface{}) (map[string]interface{}, os.Error) {
	//Changes the wallet passphrase from <oldpassphrase> to <newpassphrase>.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "walletpassphrasechange", id, data)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func SendFrom(c appengine.Context, id interface{}, data []interface{}) (map[string]interface{}, os.Error) {
	//<amount> is a real and is rounded to 8 decimal places. Will send the given amount to the given address, ensuring the account has a valid balance using [minconf] confirmations. Returns the transaction ID if successful (not in JSON object).
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "sendfrom", id, data)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetAddressByAccount(c appengine.Context, id interface{}, account []interface{}) (map[string]interface{}, os.Error) {
	//Returns the list of addresses for the given account.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getaddressesbyaccount", id, account)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}
func GetDifficulty(c appengine.Context, id interface{}) (map[string]interface{}, os.Error) {
	//Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
	resp, err := gaehttpjsonrpc.CallWithBasicAuth(c, Address, Username, Password, true, "getdifficulty", id, nil)
	if err != nil {
		log.Println(err)
		return resp, err
	}
	result := resp["result"]
	log.Println(result)

	return resp, err
}