rpcclient

package module
v0.0.0-...-4f52c04 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2022 License: ISC Imports: 20 Imported by: 0

README

go-bitcoin-core-rpc

ISC License GoDoc

rpcclient implements a Bitcoin Core JSON-RPC client package written in Go. It provides a robust and easy to use client for interfacing with a Bitcoin RPC server.

Status

This package is currently under active development. It is already stable and the infrastructure is complete. However, there are still several RPCs left to implement and the API is not stable yet.

Documentation

  • API Reference
  • Example Connects to a bitcoin Core RPC server using HTTP POST mode with TLS disabled and gets the current block count.

Major Features

  • Translates to and from higher-level and easier to use Go types
  • Offers a synchronous (blocking) and asynchronous API

Installation

$ go get -u github.com/stevenroose/go-bitcoin-core-rpc

License

Package rpcclient is licensed under the copyfree ISC License.

Documentation

Overview

Package rpcclient implements a Bitcoin Core JSON-RPC client.

Overview

This client provides a robust and easy to use client for interfacing with a Bitcoin RPC server that uses a Bitcoin Core compatible Bitcoin JSON-RPC API.

Errors

There are 3 categories of errors that will be returned throughout this package:

  • Errors related to the client connection such as authentication and shutdown
  • Errors that occur before communicating with the remote RPC server such as command creation and marshaling errors or issues talking to the remote server
  • Errors returned from the remote RPC server like unimplemented commands, nonexistent requested blocks and transactions, malformed data, and incorrect networks

The first category of errors are typically ErrInvalidAuth or ErrClientShutdown.

The second category of errors typically indicates a programmer error and as such the type can vary, but usually will be best handled by simply showing/logging it.

The third category of errors, that is errors returned by the server, can be detected by type asserting the error in a *btcjson.RPCError. For example, to detect if a command is unimplemented by the remote RPC server:

  amount, err := client.GetBalance("")
  if err != nil {
  	if jerr, ok := err.(*btcjson.RPCError); ok {
  		switch jerr.Code {
  		case btcjson.ErrRPCUnimplemented:
  			// Handle not implemented error

  		// Handle other specific errors you care about
		}
  	}

  	// Log or otherwise handle the error knowing it was not one returned
  	// from the remote RPC server.
  }

Example Usage

Check the examples directory.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrClientShutdown is an error to describe the condition where the
	// client is either already shutdown, or in the process of shutting
	// down.  Any outstanding futures when a client shutdown occurs will
	// return this error as will any new requests.
	ErrClientShutdown = errors.New("the client has been shutdown")
)

Functions

func DisableLog

func DisableLog()

DisableLog disables all library log output. Logging output is disabled by default until UseLogger is called.

func UseLogger

func UseLogger(logger btclog.Logger)

UseLogger uses a specified Logger to output package logging info.

Types

type AddNodeCommand

type AddNodeCommand string

AddNodeCommand enumerates the available commands that the AddNode function accepts.

const (
	// ANAdd indicates the specified host should be added as a persistent
	// peer.
	ANAdd AddNodeCommand = "add"

	// ANRemove indicates the specified peer should be removed.
	ANRemove AddNodeCommand = "remove"

	// ANOneTry indicates the specified host should try to connect once,
	// but it should not be made persistent.
	ANOneTry AddNodeCommand = "onetry"
)

Constants used to indicate the command for the AddNode function.

func (AddNodeCommand) String

func (cmd AddNodeCommand) String() string

String returns the AddNodeCommand in human-readable form.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client represents a Bitcoin RPC client which allows easy access to the various RPC methods available on a Bitcoin RPC server. Each of the wrapper functions handle the details of converting the passed and return types to and from the underlying JSON types which are required for the JSON-RPC invocations

The client provides each RPC in both synchronous (blocking) and asynchronous (non-blocking) forms. The asynchronous forms are based on the concept of futures where they return an instance of a type that promises to deliver the result of the invocation at some future time. Invoking the Receive method on the returned future will block until the result is available if it's not already.

func New

func New(config *ConnConfig) (*Client, error)

New creates a new RPC client based on the provided connection configuration details. The notification handlers parameter may be nil if you are not interested in receiving notifications and will be ignored if the configuration is set to run in HTTP POST mode.

func (*Client) AddMultisigAddress

func (c *Client) AddMultisigAddress(requiredSigs int, addresses []btcutil.Address, account string) (btcutil.Address, error)

AddMultisigAddress adds a multisignature address that requires the specified number of signatures for the provided addresses to the wallet.

func (*Client) AddMultisigAddressAsync

func (c *Client) AddMultisigAddressAsync(requiredSigs int, addresses []btcutil.Address, account string) FutureAddMultisigAddressResult

AddMultisigAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See AddMultisigAddress for the blocking version and more details.

func (*Client) AddNode

func (c *Client) AddNode(host string, command AddNodeCommand) error

AddNode attempts to perform the passed command on the passed persistent peer. For example, it can be used to add or a remove a persistent peer, or to do a one time connection to a peer.

It may not be used to remove non-persistent peers.

func (*Client) AddNodeAsync

func (c *Client) AddNodeAsync(host string, command AddNodeCommand) FutureAddNodeResult

AddNodeAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See AddNode for the blocking version and more details.

func (*Client) AddWitnessAddress

func (c *Client) AddWitnessAddress(address string) (btcutil.Address, error)

AddWitnessAddress adds a witness address for a script and returns the new address (P2SH of the witness script).

func (*Client) AddWitnessAddressAsync

func (c *Client) AddWitnessAddressAsync(address string) FutureAddWitnessAddressResult

AddWitnessAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See AddWitnessAddress for the blocking version and more details.

func (*Client) CreateMultisig

func (c *Client) CreateMultisig(requiredSigs int, addresses []btcutil.Address) (*btcjson.CreateMultiSigResult, error)

CreateMultisig creates a multisignature address that requires the specified number of signatures for the provided addresses and returns the multisignature address and script needed to redeem it.

func (*Client) CreateMultisigAsync

func (c *Client) CreateMultisigAsync(requiredSigs int, addresses []btcutil.Address) FutureCreateMultisigResult

CreateMultisigAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See CreateMultisig for the blocking version and more details.

func (*Client) CreateNewAccount

func (c *Client) CreateNewAccount(account string) error

CreateNewAccount creates a new wallet account.

func (*Client) CreateNewAccountAsync

func (c *Client) CreateNewAccountAsync(account string) FutureCreateNewAccountResult

CreateNewAccountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See CreateNewAccount for the blocking version and more details.

func (*Client) CreateRawTransaction

func (c *Client) CreateRawTransaction(inputs []btcjson.TransactionInput,
	amounts map[btcutil.Address]btcutil.Amount, lockTime *int64) (*wire.MsgTx, error)

CreateRawTransaction returns a new transaction spending the provided inputs and sending to the provided addresses.

func (*Client) CreateRawTransactionAsync

func (c *Client) CreateRawTransactionAsync(inputs []btcjson.TransactionInput,
	amounts map[btcutil.Address]btcutil.Amount, lockTime *int64) FutureCreateRawTransactionResult

CreateRawTransactionAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See CreateRawTransaction for the blocking version and more details.

func (*Client) DecodeRawTransaction

func (c *Client) DecodeRawTransaction(serializedTx []byte) (*btcjson.TxRawResult, error)

DecodeRawTransaction returns information about a transaction given its serialized bytes.

func (*Client) DecodeRawTransactionAsync

func (c *Client) DecodeRawTransactionAsync(serializedTx []byte) FutureDecodeRawTransactionResult

DecodeRawTransactionAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See DecodeRawTransaction for the blocking version and more details.

func (*Client) DecodeScript

func (c *Client) DecodeScript(serializedScript []byte) (*btcjson.DecodeScriptResult, error)

DecodeScript returns information about a script given its serialized bytes.

func (*Client) DecodeScriptAsync

func (c *Client) DecodeScriptAsync(serializedScript []byte) FutureDecodeScriptResult

DecodeScriptAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See DecodeScript for the blocking version and more details.

func (*Client) DumpPrivKey

func (c *Client) DumpPrivKey(address btcutil.Address) (*btcutil.WIF, error)

DumpPrivKey gets the private key corresponding to the passed address encoded in the wallet import format (WIF).

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) DumpPrivKeyAsync

func (c *Client) DumpPrivKeyAsync(address btcutil.Address) FutureDumpPrivKeyResult

DumpPrivKeyAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See DumpPrivKey for the blocking version and more details.

func (*Client) EstimateFee

func (c *Client) EstimateFee(numBlocks int64) (float64, error)

EstimateFee provides an estimated fee in bitcoins per kilobyte.

func (*Client) EstimateFeeAsync

func (c *Client) EstimateFeeAsync(numBlocks int64) FutureEstimateFeeResult

EstimateFeeAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See EstimateFee for the blocking version and more details.

func (*Client) EstimateSmartFee

func (c *Client) EstimateSmartFee(confTarget uint32) (*btcjson.EstimateSmartFeeResult, error)

EstimateSmartFee estimates the approximate fee per kilobyte needed for a transaction using the UNSET mode

func (*Client) EstimateSmartFeeAsync

func (c *Client) EstimateSmartFeeAsync(confTarget uint32, estimateMode btcjson.EstimateMode) FutureEstimateSmartFeeResult

EstimateSmartFeeAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See EstimateSmartFee and EstimateSmartFeeWithMode for the blocking versions and more details.

func (*Client) EstimateSmartFeeWithMode

func (c *Client) EstimateSmartFeeWithMode(confTarget uint32, estimateMode btcjson.EstimateMode) (*btcjson.EstimateSmartFeeResult, error)

EstimateSmartFeeWithMode estimates the approximate fee per kilobyte needed for a transaction

func (*Client) Generate

func (c *Client) Generate(numBlocks uint32) ([]*chainhash.Hash, error)

Generate generates numBlocks blocks and returns their hashes.

func (*Client) GenerateAsync

func (c *Client) GenerateAsync(numBlocks uint32) FutureGenerateResult

GenerateAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See Generate for the blocking version and more details.

func (*Client) GetAccount

func (c *Client) GetAccount(address btcutil.Address) (string, error)

GetAccount returns the account associated with the passed address.

func (*Client) GetAccountAddress

func (c *Client) GetAccountAddress(account string) (btcutil.Address, error)

GetAccountAddress returns the current Bitcoin address for receiving payments to the specified account.

func (*Client) GetAccountAddressAsync

func (c *Client) GetAccountAddressAsync(account string) FutureGetAccountAddressResult

GetAccountAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetAccountAddress for the blocking version and more details.

func (*Client) GetAccountAsync

func (c *Client) GetAccountAsync(address btcutil.Address) FutureGetAccountResult

GetAccountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetAccount for the blocking version and more details.

func (*Client) GetAddedNodeInfo

func (c *Client) GetAddedNodeInfo(peer string) ([]btcjson.GetAddedNodeInfoResult, error)

GetAddedNodeInfo returns information about manually added (persistent) peers.

See GetAddedNodeInfoNoDNS to retrieve only a list of the added (persistent) peers.

func (*Client) GetAddedNodeInfoAsync

func (c *Client) GetAddedNodeInfoAsync(peer string) FutureGetAddedNodeInfoResult

GetAddedNodeInfoAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetAddedNodeInfo for the blocking version and more details.

func (*Client) GetAddedNodeInfoNoDNS

func (c *Client) GetAddedNodeInfoNoDNS(peer string) ([]string, error)

GetAddedNodeInfoNoDNS returns a list of manually added (persistent) peers. This works by setting the dns flag to false in the underlying RPC.

See GetAddedNodeInfo to obtain more information about each added (persistent) peer.

func (*Client) GetAddedNodeInfoNoDNSAsync

func (c *Client) GetAddedNodeInfoNoDNSAsync(peer string) FutureGetAddedNodeInfoNoDNSResult

GetAddedNodeInfoNoDNSAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetAddedNodeInfoNoDNS for the blocking version and more details.

func (*Client) GetAddressesByAccount

func (c *Client) GetAddressesByAccount(account string) ([]btcutil.Address, error)

GetAddressesByAccount returns the list of addresses associated with the passed account.

func (*Client) GetAddressesByAccountAsync

func (c *Client) GetAddressesByAccountAsync(account string) FutureGetAddressesByAccountResult

GetAddressesByAccountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetAddressesByAccount for the blocking version and more details.

func (*Client) GetBalance

func (c *Client) GetBalance(account string) (btcutil.Amount, error)

GetBalance returns the available balance from the server for the specified account using the default number of minimum confirmations. The account may be "*" for all accounts.

See GetBalanceMinConf to override the minimum number of confirmations.

func (*Client) GetBalanceAsync

func (c *Client) GetBalanceAsync(account string) FutureGetBalanceResult

GetBalanceAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBalance for the blocking version and more details.

func (*Client) GetBalanceMinConf

func (c *Client) GetBalanceMinConf(account string, minConfirms int) (btcutil.Amount, error)

GetBalanceMinConf returns the available balance from the server for the specified account using the specified number of minimum confirmations. The account may be "*" for all accounts.

See GetBalance to use the default minimum number of confirmations.

func (*Client) GetBalanceMinConfAsync

func (c *Client) GetBalanceMinConfAsync(account string, minConfirms int) FutureGetBalanceResult

GetBalanceMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBalanceMinConf for the blocking version and more details.

func (*Client) GetBestBlockHash

func (c *Client) GetBestBlockHash() (*chainhash.Hash, error)

GetBestBlockHash returns the hash of the best block in the longest block chain.

func (*Client) GetBestBlockHashAsync

func (c *Client) GetBestBlockHashAsync() FutureGetBestBlockHashResult

GetBestBlockHashAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBestBlockHash for the blocking version and more details.

func (*Client) GetBlock

func (c *Client) GetBlock(blockHash *chainhash.Hash) (*wire.MsgBlock, error)

GetBlock returns a raw block from the server given its hash.

See GetBlockVerbose to retrieve a data structure with information about the block instead.

func (*Client) GetBlockAsync

func (c *Client) GetBlockAsync(blockHash *chainhash.Hash) FutureGetBlockResult

GetBlockAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBlock for the blocking version and more details.

func (*Client) GetBlockChainInfo

func (c *Client) GetBlockChainInfo() (*btcjson.GetBlockChainInfoResult, error)

GetBlockChainInfo returns information related to the processing state of various chain-specific details such as the current difficulty from the tip of the main chain.

func (*Client) GetBlockChainInfoAsync

func (c *Client) GetBlockChainInfoAsync() FutureGetBlockChainInfoResult

GetBlockChainInfoAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBlockChainInfo for the blocking version and more details.

func (*Client) GetBlockCount

func (c *Client) GetBlockCount() (int64, error)

GetBlockCount returns the number of blocks in the longest block chain.

func (*Client) GetBlockCountAsync

func (c *Client) GetBlockCountAsync() FutureGetBlockCountResult

GetBlockCountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBlockCount for the blocking version and more details.

func (*Client) GetBlockHash

func (c *Client) GetBlockHash(blockHeight int64) (*chainhash.Hash, error)

GetBlockHash returns the hash of the block in the best block chain at the given height.

func (*Client) GetBlockHashAsync

func (c *Client) GetBlockHashAsync(blockHeight int64) FutureGetBlockHashResult

GetBlockHashAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBlockHash for the blocking version and more details.

func (*Client) GetBlockHeader

func (c *Client) GetBlockHeader(blockHash *chainhash.Hash) (*wire.BlockHeader, error)

GetBlockHeader returns the blockheader from the server given its hash.

See GetBlockHeaderVerbose to retrieve a data structure with information about the block instead.

func (*Client) GetBlockHeaderAsync

func (c *Client) GetBlockHeaderAsync(blockHash *chainhash.Hash) FutureGetBlockHeaderResult

GetBlockHeaderAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBlockHeader for the blocking version and more details.

func (*Client) GetBlockHeaderVerbose

func (c *Client) GetBlockHeaderVerbose(blockHash *chainhash.Hash) (*btcjson.GetBlockHeaderVerboseResult, error)

GetBlockHeaderVerbose returns a data structure with information about the blockheader from the server given its hash.

See GetBlockHeader to retrieve a blockheader instead.

func (*Client) GetBlockHeaderVerboseAsync

func (c *Client) GetBlockHeaderVerboseAsync(blockHash *chainhash.Hash) FutureGetBlockHeaderVerboseResult

GetBlockHeaderVerboseAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBlockHeader for the blocking version and more details.

func (*Client) GetBlockVerbose

func (c *Client) GetBlockVerbose(blockHash *chainhash.Hash) (*btcjson.GetBlockVerboseResult, error)

GetBlockVerbose returns a data structure from the server with information about a block given its hash.

See GetBlockVerboseTx to retrieve transaction data structures as well. See GetBlock to retrieve a raw block instead.

func (*Client) GetBlockVerboseAsync

func (c *Client) GetBlockVerboseAsync(blockHash *chainhash.Hash) FutureGetBlockVerboseResult

GetBlockVerboseAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBlockVerbose for the blocking version and more details.

func (*Client) GetBlockVerboseTx

func (c *Client) GetBlockVerboseTx(blockHash *chainhash.Hash) (*btcjson.GetBlockVerboseResult, error)

GetBlockVerboseTx returns a data structure from the server with information about a block and its transactions given its hash.

See GetBlockVerbose if only transaction hashes are preferred. See GetBlock to retrieve a raw block instead.

func (*Client) GetBlockVerboseTxAsync

func (c *Client) GetBlockVerboseTxAsync(blockHash *chainhash.Hash) FutureGetBlockVerboseResult

GetBlockVerboseTxAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetBlockVerboseTx or the blocking version and more details.

func (*Client) GetCFilter

func (c *Client) GetCFilter(blockHash *chainhash.Hash,
	filterType wire.FilterType) (*wire.MsgCFilter, error)

GetCFilter returns a raw filter from the server given its block hash.

func (*Client) GetCFilterAsync

func (c *Client) GetCFilterAsync(blockHash *chainhash.Hash,
	filterType wire.FilterType) FutureGetCFilterResult

GetCFilterAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetCFilter for the blocking version and more details.

func (*Client) GetCFilterHeader

func (c *Client) GetCFilterHeader(blockHash *chainhash.Hash,
	filterType wire.FilterType) (*wire.MsgCFHeaders, error)

GetCFilterHeader returns a raw filter header from the server given its block hash.

func (*Client) GetCFilterHeaderAsync

func (c *Client) GetCFilterHeaderAsync(blockHash *chainhash.Hash,
	filterType wire.FilterType) FutureGetCFilterHeaderResult

GetCFilterHeaderAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetCFilterHeader for the blocking version and more details.

func (*Client) GetConnectionCount

func (c *Client) GetConnectionCount() (int64, error)

GetConnectionCount returns the number of active connections to other peers.

func (*Client) GetConnectionCountAsync

func (c *Client) GetConnectionCountAsync() FutureGetConnectionCountResult

GetConnectionCountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetConnectionCount for the blocking version and more details.

func (*Client) GetDifficulty

func (c *Client) GetDifficulty() (float64, error)

GetDifficulty returns the proof-of-work difficulty as a multiple of the minimum difficulty.

func (*Client) GetDifficultyAsync

func (c *Client) GetDifficultyAsync() FutureGetDifficultyResult

GetDifficultyAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetDifficulty for the blocking version and more details.

func (*Client) GetGenerate

func (c *Client) GetGenerate() (bool, error)

GetGenerate returns true if the server is set to mine, otherwise false.

func (*Client) GetGenerateAsync

func (c *Client) GetGenerateAsync() FutureGetGenerateResult

GetGenerateAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetGenerate for the blocking version and more details.

func (*Client) GetHashesPerSec

func (c *Client) GetHashesPerSec() (int64, error)

GetHashesPerSec returns a recent hashes per second performance measurement while generating coins (mining). Zero is returned if the server is not mining.

func (*Client) GetHashesPerSecAsync

func (c *Client) GetHashesPerSecAsync() FutureGetHashesPerSecResult

GetHashesPerSecAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetHashesPerSec for the blocking version and more details.

func (*Client) GetInfo

func (c *Client) GetInfo() (*btcjson.InfoWalletResult, error)

GetInfo returns miscellaneous info regarding the RPC server. The returned info object may be void of wallet information if the remote server does not include wallet functionality.

func (*Client) GetInfoAsync

func (c *Client) GetInfoAsync() FutureGetInfoResult

GetInfoAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetInfo for the blocking version and more details.

func (*Client) GetMempoolEntry

func (c *Client) GetMempoolEntry(txHash string) (*btcjson.GetMempoolEntryResult, error)

GetMempoolEntry returns a data structure with information about the transaction in the memory pool given its hash.

func (*Client) GetMempoolEntryAsync

func (c *Client) GetMempoolEntryAsync(txHash string) FutureGetMempoolEntryResult

GetMempoolEntryAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetMempoolEntry for the blocking version and more details.

func (*Client) GetMiningInfo

func (c *Client) GetMiningInfo() (*btcjson.GetMiningInfoResult, error)

GetMiningInfo returns mining information.

func (*Client) GetMiningInfoAsync

func (c *Client) GetMiningInfoAsync() FutureGetMiningInfoResult

GetMiningInfoAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetMiningInfo for the blocking version and more details.

func (*Client) GetNetTotals

func (c *Client) GetNetTotals() (*btcjson.GetNetTotalsResult, error)

GetNetTotals returns network traffic statistics.

func (*Client) GetNetTotalsAsync

func (c *Client) GetNetTotalsAsync() FutureGetNetTotalsResult

GetNetTotalsAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetNetTotals for the blocking version and more details.

func (*Client) GetNetworkHashPS

func (c *Client) GetNetworkHashPS() (int64, error)

GetNetworkHashPS returns the estimated network hashes per second using the default number of blocks and the most recent block height.

See GetNetworkHashPS2 to override the number of blocks to use and GetNetworkHashPS3 to override the height at which to calculate the estimate.

func (*Client) GetNetworkHashPS2

func (c *Client) GetNetworkHashPS2(blocks int) (int64, error)

GetNetworkHashPS2 returns the estimated network hashes per second for the specified previous number of blocks working backwards from the most recent block height. The blocks parameter can also be -1 in which case the number of blocks since the last difficulty change will be used.

See GetNetworkHashPS to use defaults and GetNetworkHashPS3 to override the height at which to calculate the estimate.

func (*Client) GetNetworkHashPS2Async

func (c *Client) GetNetworkHashPS2Async(blocks int) FutureGetNetworkHashPS

GetNetworkHashPS2Async returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetNetworkHashPS2 for the blocking version and more details.

func (*Client) GetNetworkHashPS3

func (c *Client) GetNetworkHashPS3(blocks, height int) (int64, error)

GetNetworkHashPS3 returns the estimated network hashes per second for the specified previous number of blocks working backwards from the specified block height. The blocks parameter can also be -1 in which case the number of blocks since the last difficulty change will be used.

See GetNetworkHashPS and GetNetworkHashPS2 to use defaults.

func (*Client) GetNetworkHashPS3Async

func (c *Client) GetNetworkHashPS3Async(blocks, height int) FutureGetNetworkHashPS

GetNetworkHashPS3Async returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetNetworkHashPS3 for the blocking version and more details.

func (*Client) GetNetworkHashPSAsync

func (c *Client) GetNetworkHashPSAsync() FutureGetNetworkHashPS

GetNetworkHashPSAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetNetworkHashPS for the blocking version and more details.

func (*Client) GetNewAddress

func (c *Client) GetNewAddress(account string) (btcutil.Address, error)

GetNewAddress returns a new address.

func (*Client) GetNewAddressAsync

func (c *Client) GetNewAddressAsync(account string) FutureGetNewAddressResult

GetNewAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetNewAddress for the blocking version and more details.

func (*Client) GetPeerInfo

func (c *Client) GetPeerInfo() ([]btcjson.GetPeerInfoResult, error)

GetPeerInfo returns data about each connected network peer.

func (*Client) GetPeerInfoAsync

func (c *Client) GetPeerInfoAsync() FutureGetPeerInfoResult

GetPeerInfoAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetPeerInfo for the blocking version and more details.

func (*Client) GetRawChangeAddress

func (c *Client) GetRawChangeAddress(account string) (btcutil.Address, error)

GetRawChangeAddress returns a new address for receiving change that will be associated with the provided account. Note that this is only for raw transactions and NOT for normal use.

func (*Client) GetRawChangeAddressAsync

func (c *Client) GetRawChangeAddressAsync(account string) FutureGetRawChangeAddressResult

GetRawChangeAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetRawChangeAddress for the blocking version and more details.

func (*Client) GetRawMempool

func (c *Client) GetRawMempool() ([]*chainhash.Hash, error)

GetRawMempool returns the hashes of all transactions in the memory pool.

See GetRawMempoolVerbose to retrieve data structures with information about the transactions instead.

func (*Client) GetRawMempoolAsync

func (c *Client) GetRawMempoolAsync() FutureGetRawMempoolResult

GetRawMempoolAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetRawMempool for the blocking version and more details.

func (*Client) GetRawMempoolVerbose

func (c *Client) GetRawMempoolVerbose() (map[string]btcjson.GetRawMempoolVerboseResult, error)

GetRawMempoolVerbose returns a map of transaction hashes to an associated data structure with information about the transaction for all transactions in the memory pool.

See GetRawMempool to retrieve only the transaction hashes instead.

func (*Client) GetRawMempoolVerboseAsync

func (c *Client) GetRawMempoolVerboseAsync() FutureGetRawMempoolVerboseResult

GetRawMempoolVerboseAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetRawMempoolVerbose for the blocking version and more details.

func (*Client) GetRawTransaction

func (c *Client) GetRawTransaction(txHash *chainhash.Hash) (*btcutil.Tx, error)

GetRawTransaction returns a transaction given its hash.

See GetRawTransactionVerbose to obtain additional information about the transaction.

func (*Client) GetRawTransactionAsync

func (c *Client) GetRawTransactionAsync(txHash *chainhash.Hash) FutureGetRawTransactionResult

GetRawTransactionAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetRawTransaction for the blocking version and more details.

func (*Client) GetRawTransactionVerbose

func (c *Client) GetRawTransactionVerbose(txHash *chainhash.Hash) (*btcjson.TxRawResult, error)

GetRawTransactionVerbose returns information about a transaction given its hash.

See GetRawTransaction to obtain only the transaction already deserialized.

func (*Client) GetRawTransactionVerboseAsync

func (c *Client) GetRawTransactionVerboseAsync(txHash *chainhash.Hash) FutureGetRawTransactionVerboseResult

GetRawTransactionVerboseAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetRawTransactionVerbose for the blocking version and more details.

func (*Client) GetReceivedByAccount

func (c *Client) GetReceivedByAccount(account string) (btcutil.Amount, error)

GetReceivedByAccount returns the total amount received with the specified account with at least the default number of minimum confirmations.

See GetReceivedByAccountMinConf to override the minimum number of confirmations.

func (*Client) GetReceivedByAccountAsync

func (c *Client) GetReceivedByAccountAsync(account string) FutureGetReceivedByAccountResult

GetReceivedByAccountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetReceivedByAccount for the blocking version and more details.

func (*Client) GetReceivedByAccountMinConf

func (c *Client) GetReceivedByAccountMinConf(account string, minConfirms int) (btcutil.Amount, error)

GetReceivedByAccountMinConf returns the total amount received with the specified account with at least the specified number of minimum confirmations.

See GetReceivedByAccount to use the default minimum number of confirmations.

func (*Client) GetReceivedByAccountMinConfAsync

func (c *Client) GetReceivedByAccountMinConfAsync(account string, minConfirms int) FutureGetReceivedByAccountResult

GetReceivedByAccountMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetReceivedByAccountMinConf for the blocking version and more details.

func (*Client) GetReceivedByAddress

func (c *Client) GetReceivedByAddress(address btcutil.Address) (btcutil.Amount, error)

GetReceivedByAddress returns the total amount received by the specified address with at least the default number of minimum confirmations.

See GetReceivedByAddressMinConf to override the minimum number of confirmations.

func (*Client) GetReceivedByAddressAsync

func (c *Client) GetReceivedByAddressAsync(address btcutil.Address) FutureGetReceivedByAddressResult

GetReceivedByAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetReceivedByAddress for the blocking version and more details.

func (*Client) GetReceivedByAddressMinConf

func (c *Client) GetReceivedByAddressMinConf(address btcutil.Address, minConfirms int) (btcutil.Amount, error)

GetReceivedByAddressMinConf returns the total amount received by the specified address with at least the specified number of minimum confirmations.

See GetReceivedByAddress to use the default minimum number of confirmations.

func (*Client) GetReceivedByAddressMinConfAsync

func (c *Client) GetReceivedByAddressMinConfAsync(address btcutil.Address, minConfirms int) FutureGetReceivedByAddressResult

GetReceivedByAddressMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetReceivedByAddressMinConf for the blocking version and more details.

func (*Client) GetTransaction

func (c *Client) GetTransaction(txHash *chainhash.Hash) (*btcjson.GetTransactionResult, error)

GetTransaction returns detailed information about a wallet transaction.

See GetRawTransaction to return the raw transaction instead.

func (*Client) GetTransactionAsync

func (c *Client) GetTransactionAsync(txHash *chainhash.Hash) FutureGetTransactionResult

GetTransactionAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetTransaction for the blocking version and more details.

func (*Client) GetTxOut

func (c *Client) GetTxOut(txHash *chainhash.Hash, index uint32, mempool bool) (*btcjson.GetTxOutResult, error)

GetTxOut returns the transaction output info if it's unspent and nil, otherwise.

func (*Client) GetTxOutAsync

func (c *Client) GetTxOutAsync(txHash *chainhash.Hash, index uint32, mempool bool) FutureGetTxOutResult

GetTxOutAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetTxOut for the blocking version and more details.

func (*Client) GetTxOutSetInfo

func (c *Client) GetTxOutSetInfo() (*btcjson.GetTxOutSetInfoResult, error)

GetTxOutSetInfo returns statistics about the database of unspent transaction outputs

func (*Client) GetTxOutSetInfoAsync

func (c *Client) GetTxOutSetInfoAsync() FutureGetTxOutSetInfoResult

GetTxOutSetInfoAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetTxOutSetInfo for the blocking version and more details.

func (*Client) GetUnconfirmedBalance

func (c *Client) GetUnconfirmedBalance(account string) (btcutil.Amount, error)

GetUnconfirmedBalance returns the unconfirmed balance from the server for the specified account.

func (*Client) GetUnconfirmedBalanceAsync

func (c *Client) GetUnconfirmedBalanceAsync(account string) FutureGetUnconfirmedBalanceResult

GetUnconfirmedBalanceAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetUnconfirmedBalance for the blocking version and more details.

func (*Client) GetWork

func (c *Client) GetWork() (*btcjson.GetWorkResult, error)

GetWork returns hash data to work on.

See GetWorkSubmit to submit the found solution.

func (*Client) GetWorkAsync

func (c *Client) GetWorkAsync() FutureGetWork

GetWorkAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetWork for the blocking version and more details.

func (*Client) GetWorkSubmit

func (c *Client) GetWorkSubmit(data string) (bool, error)

GetWorkSubmit submits a block header which is a solution to previously requested data and returns whether or not the solution was accepted.

See GetWork to request data to work on.

func (*Client) GetWorkSubmitAsync

func (c *Client) GetWorkSubmitAsync(data string) FutureGetWorkSubmit

GetWorkSubmitAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See GetWorkSubmit for the blocking version and more details.

func (*Client) ImportAddress

func (c *Client) ImportAddress(address string) error

ImportAddress imports the passed public address.

func (*Client) ImportAddressAsync

func (c *Client) ImportAddressAsync(address string) FutureImportAddressResult

ImportAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ImportAddress for the blocking version and more details.

func (*Client) ImportAddressRescan

func (c *Client) ImportAddressRescan(address string, rescan bool) error

ImportAddressRescan imports the passed public address. When rescan is true, the block history is scanned for transactions addressed to provided address.

func (*Client) ImportAddressRescanAsync

func (c *Client) ImportAddressRescanAsync(address string, rescan bool) FutureImportAddressResult

ImportAddressRescanAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ImportAddress for the blocking version and more details.

func (*Client) ImportPrivKey

func (c *Client) ImportPrivKey(privKeyWIF *btcutil.WIF) error

ImportPrivKey imports the passed private key which must be the wallet import format (WIF).

func (*Client) ImportPrivKeyAsync

func (c *Client) ImportPrivKeyAsync(privKeyWIF *btcutil.WIF) FutureImportPrivKeyResult

ImportPrivKeyAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ImportPrivKey for the blocking version and more details.

func (*Client) ImportPrivKeyLabel

func (c *Client) ImportPrivKeyLabel(privKeyWIF *btcutil.WIF, label string) error

ImportPrivKeyLabel imports the passed private key which must be the wallet import format (WIF). It sets the account label to the one provided.

func (*Client) ImportPrivKeyLabelAsync

func (c *Client) ImportPrivKeyLabelAsync(privKeyWIF *btcutil.WIF, label string) FutureImportPrivKeyResult

ImportPrivKeyLabelAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ImportPrivKey for the blocking version and more details.

func (*Client) ImportPrivKeyRescan

func (c *Client) ImportPrivKeyRescan(privKeyWIF *btcutil.WIF, label string, rescan bool) error

ImportPrivKeyRescan imports the passed private key which must be the wallet import format (WIF). It sets the account label to the one provided. When rescan is true, the block history is scanned for transactions addressed to provided privKey.

func (*Client) ImportPrivKeyRescanAsync

func (c *Client) ImportPrivKeyRescanAsync(privKeyWIF *btcutil.WIF, label string, rescan bool) FutureImportPrivKeyResult

ImportPrivKeyRescanAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ImportPrivKey for the blocking version and more details.

func (*Client) ImportPubKey

func (c *Client) ImportPubKey(pubKey string) error

ImportPubKey imports the passed public key.

func (*Client) ImportPubKeyAsync

func (c *Client) ImportPubKeyAsync(pubKey string) FutureImportPubKeyResult

ImportPubKeyAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ImportPubKey for the blocking version and more details.

func (*Client) ImportPubKeyRescan

func (c *Client) ImportPubKeyRescan(pubKey string, rescan bool) error

ImportPubKeyRescan imports the passed public key. When rescan is true, the block history is scanned for transactions addressed to provided pubkey.

func (*Client) ImportPubKeyRescanAsync

func (c *Client) ImportPubKeyRescanAsync(pubKey string, rescan bool) FutureImportPubKeyResult

ImportPubKeyRescanAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ImportPubKey for the blocking version and more details.

func (*Client) InvalidateBlock

func (c *Client) InvalidateBlock(blockHash *chainhash.Hash) error

InvalidateBlock invalidates a specific block.

func (*Client) InvalidateBlockAsync

func (c *Client) InvalidateBlockAsync(blockHash *chainhash.Hash) FutureInvalidateBlockResult

InvalidateBlockAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See InvalidateBlock for the blocking version and more details.

func (*Client) KeyPoolRefill

func (c *Client) KeyPoolRefill() error

KeyPoolRefill fills the key pool as necessary to reach the default size.

See KeyPoolRefillSize to override the size of the key pool.

func (*Client) KeyPoolRefillAsync

func (c *Client) KeyPoolRefillAsync() FutureKeyPoolRefillResult

KeyPoolRefillAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See KeyPoolRefill for the blocking version and more details.

func (*Client) KeyPoolRefillSize

func (c *Client) KeyPoolRefillSize(newSize uint) error

KeyPoolRefillSize fills the key pool as necessary to reach the specified size.

func (*Client) KeyPoolRefillSizeAsync

func (c *Client) KeyPoolRefillSizeAsync(newSize uint) FutureKeyPoolRefillResult

KeyPoolRefillSizeAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See KeyPoolRefillSize for the blocking version and more details.

func (*Client) ListAccounts

func (c *Client) ListAccounts() (map[string]btcutil.Amount, error)

ListAccounts returns a map of account names and their associated balances using the default number of minimum confirmations.

See ListAccountsMinConf to override the minimum number of confirmations.

func (*Client) ListAccountsAsync

func (c *Client) ListAccountsAsync() FutureListAccountsResult

ListAccountsAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListAccounts for the blocking version and more details.

func (*Client) ListAccountsMinConf

func (c *Client) ListAccountsMinConf(minConfirms int) (map[string]btcutil.Amount, error)

ListAccountsMinConf returns a map of account names and their associated balances using the specified number of minimum confirmations.

See ListAccounts to use the default minimum number of confirmations.

func (*Client) ListAccountsMinConfAsync

func (c *Client) ListAccountsMinConfAsync(minConfirms int) FutureListAccountsResult

ListAccountsMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListAccountsMinConf for the blocking version and more details.

func (*Client) ListLockUnspent

func (c *Client) ListLockUnspent() ([]*wire.OutPoint, error)

ListLockUnspent returns a slice of outpoints for all unspent outputs marked as locked by a wallet. Unspent outputs may be marked locked using LockOutput.

func (*Client) ListLockUnspentAsync

func (c *Client) ListLockUnspentAsync() FutureListLockUnspentResult

ListLockUnspentAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListLockUnspent for the blocking version and more details.

func (*Client) ListReceivedByAccount

func (c *Client) ListReceivedByAccount() ([]btcjson.ListReceivedByAccountResult, error)

ListReceivedByAccount lists balances by account using the default number of minimum confirmations and including accounts that haven't received any payments.

See ListReceivedByAccountMinConf to override the minimum number of confirmations and ListReceivedByAccountIncludeEmpty to filter accounts that haven't received any payments from the results.

func (*Client) ListReceivedByAccountAsync

func (c *Client) ListReceivedByAccountAsync() FutureListReceivedByAccountResult

ListReceivedByAccountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListReceivedByAccount for the blocking version and more details.

func (*Client) ListReceivedByAccountIncludeEmpty

func (c *Client) ListReceivedByAccountIncludeEmpty(minConfirms int, includeEmpty bool) ([]btcjson.ListReceivedByAccountResult, error)

ListReceivedByAccountIncludeEmpty lists balances by account using the specified number of minimum confirmations and including accounts that haven't received any payments depending on specified flag.

See ListReceivedByAccount and ListReceivedByAccountMinConf to use defaults.

func (*Client) ListReceivedByAccountIncludeEmptyAsync

func (c *Client) ListReceivedByAccountIncludeEmptyAsync(minConfirms int, includeEmpty bool) FutureListReceivedByAccountResult

ListReceivedByAccountIncludeEmptyAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListReceivedByAccountIncludeEmpty for the blocking version and more details.

func (*Client) ListReceivedByAccountMinConf

func (c *Client) ListReceivedByAccountMinConf(minConfirms int) ([]btcjson.ListReceivedByAccountResult, error)

ListReceivedByAccountMinConf lists balances by account using the specified number of minimum confirmations not including accounts that haven't received any payments.

See ListReceivedByAccount to use the default minimum number of confirmations and ListReceivedByAccountIncludeEmpty to also include accounts that haven't received any payments in the results.

func (*Client) ListReceivedByAccountMinConfAsync

func (c *Client) ListReceivedByAccountMinConfAsync(minConfirms int) FutureListReceivedByAccountResult

ListReceivedByAccountMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListReceivedByAccountMinConf for the blocking version and more details.

func (*Client) ListReceivedByAddress

func (c *Client) ListReceivedByAddress() ([]btcjson.ListReceivedByAddressResult, error)

ListReceivedByAddress lists balances by address using the default number of minimum confirmations not including addresses that haven't received any payments or watching only addresses.

See ListReceivedByAddressMinConf to override the minimum number of confirmations and ListReceivedByAddressIncludeEmpty to also include addresses that haven't received any payments in the results.

func (*Client) ListReceivedByAddressAsync

func (c *Client) ListReceivedByAddressAsync() FutureListReceivedByAddressResult

ListReceivedByAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListReceivedByAddress for the blocking version and more details.

func (*Client) ListReceivedByAddressIncludeEmpty

func (c *Client) ListReceivedByAddressIncludeEmpty(minConfirms int, includeEmpty bool) ([]btcjson.ListReceivedByAddressResult, error)

ListReceivedByAddressIncludeEmpty lists balances by address using the specified number of minimum confirmations and including addresses that haven't received any payments depending on specified flag.

See ListReceivedByAddress and ListReceivedByAddressMinConf to use defaults.

func (*Client) ListReceivedByAddressIncludeEmptyAsync

func (c *Client) ListReceivedByAddressIncludeEmptyAsync(minConfirms int, includeEmpty bool) FutureListReceivedByAddressResult

ListReceivedByAddressIncludeEmptyAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListReceivedByAccountIncludeEmpty for the blocking version and more details.

func (*Client) ListReceivedByAddressMinConf

func (c *Client) ListReceivedByAddressMinConf(minConfirms int) ([]btcjson.ListReceivedByAddressResult, error)

ListReceivedByAddressMinConf lists balances by address using the specified number of minimum confirmations not including addresses that haven't received any payments.

See ListReceivedByAddress to use the default minimum number of confirmations and ListReceivedByAddressIncludeEmpty to also include addresses that haven't received any payments in the results.

func (*Client) ListReceivedByAddressMinConfAsync

func (c *Client) ListReceivedByAddressMinConfAsync(minConfirms int) FutureListReceivedByAddressResult

ListReceivedByAddressMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListReceivedByAddressMinConf for the blocking version and more details.

func (*Client) ListSinceBlock

func (c *Client) ListSinceBlock(blockHash *chainhash.Hash) (*btcjson.ListSinceBlockResult, error)

ListSinceBlock returns all transactions added in blocks since the specified block hash, or all transactions if it is nil, using the default number of minimum confirmations as a filter.

See ListSinceBlockMinConf to override the minimum number of confirmations.

func (*Client) ListSinceBlockAsync

func (c *Client) ListSinceBlockAsync(blockHash *chainhash.Hash) FutureListSinceBlockResult

ListSinceBlockAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListSinceBlock for the blocking version and more details.

func (*Client) ListSinceBlockMinConf

func (c *Client) ListSinceBlockMinConf(blockHash *chainhash.Hash, minConfirms int) (*btcjson.ListSinceBlockResult, error)

ListSinceBlockMinConf returns all transactions added in blocks since the specified block hash, or all transactions if it is nil, using the specified number of minimum confirmations as a filter.

See ListSinceBlock to use the default minimum number of confirmations.

func (*Client) ListSinceBlockMinConfAsync

func (c *Client) ListSinceBlockMinConfAsync(blockHash *chainhash.Hash, minConfirms int) FutureListSinceBlockResult

ListSinceBlockMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListSinceBlockMinConf for the blocking version and more details.

func (*Client) ListSinceBlockMinConfWatchOnly

func (c *Client) ListSinceBlockMinConfWatchOnly(blockHash *chainhash.Hash, minConfirms int, watchOnly *bool) (*btcjson.ListSinceBlockResult, error)

ListSinceBlockMinConfWatchOnly returns all transactions added in blocks since the specified block hash, or all transactions if it is nil, using the specified number of minimum confirmations as a filter as well as setting the include_watchonly parameter.

See ListSinceBlock to use the default minimum number of confirmations.

func (*Client) ListSinceBlockMinConfWatchOnlyAsync

func (c *Client) ListSinceBlockMinConfWatchOnlyAsync(blockHash *chainhash.Hash, minConfirms int, watchOnly *bool) FutureListSinceBlockResult

ListSinceBlockMinConfWatchOnlyAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListSinceBlockMinConfWatchOnly for the blocking version and more details.

func (*Client) ListTransactions

func (c *Client) ListTransactions(account string) ([]btcjson.ListTransactionsResult, error)

ListTransactions returns a list of the most recent transactions.

See the ListTransactionsCount and ListTransactionsCountFrom to control the number of transactions returned and starting point, respectively.

func (*Client) ListTransactionsAsync

func (c *Client) ListTransactionsAsync(account string) FutureListTransactionsResult

ListTransactionsAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListTransactions for the blocking version and more details.

func (*Client) ListTransactionsCount

func (c *Client) ListTransactionsCount(account string, count int) ([]btcjson.ListTransactionsResult, error)

ListTransactionsCount returns a list of the most recent transactions up to the passed count.

See the ListTransactions and ListTransactionsCountFrom functions for different options.

func (*Client) ListTransactionsCountAsync

func (c *Client) ListTransactionsCountAsync(account string, count int) FutureListTransactionsResult

ListTransactionsCountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListTransactionsCount for the blocking version and more details.

func (*Client) ListTransactionsCountFrom

func (c *Client) ListTransactionsCountFrom(account string, count, from int) ([]btcjson.ListTransactionsResult, error)

ListTransactionsCountFrom returns a list of the most recent transactions up to the passed count while skipping the first 'from' transactions.

See the ListTransactions and ListTransactionsCount functions to use defaults.

func (*Client) ListTransactionsCountFromAsync

func (c *Client) ListTransactionsCountFromAsync(account string, count, from int) FutureListTransactionsResult

ListTransactionsCountFromAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListTransactionsCountFrom for the blocking version and more details.

func (*Client) ListUnspent

func (c *Client) ListUnspent() ([]btcjson.ListUnspentResult, error)

ListUnspent returns all unspent transaction outputs known to a wallet, using the default number of minimum and maximum number of confirmations as a filter (1 and 999999, respectively).

func (*Client) ListUnspentAsync

func (c *Client) ListUnspentAsync() FutureListUnspentResult

ListUnspentAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListUnspent for the blocking version and more details.

func (*Client) ListUnspentMin

func (c *Client) ListUnspentMin(minConf int) ([]btcjson.ListUnspentResult, error)

ListUnspentMin returns all unspent transaction outputs known to a wallet, using the specified number of minimum conformations and default number of maximum confiramtions (999999) as a filter.

func (*Client) ListUnspentMinAsync

func (c *Client) ListUnspentMinAsync(minConf int) FutureListUnspentResult

ListUnspentMinAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListUnspentMin for the blocking version and more details.

func (*Client) ListUnspentMinMax

func (c *Client) ListUnspentMinMax(minConf, maxConf int) ([]btcjson.ListUnspentResult, error)

ListUnspentMinMax returns all unspent transaction outputs known to a wallet, using the specified number of minimum and maximum number of confirmations as a filter.

func (*Client) ListUnspentMinMaxAddresses

func (c *Client) ListUnspentMinMaxAddresses(minConf, maxConf int, addrs []btcutil.Address) ([]btcjson.ListUnspentResult, error)

ListUnspentMinMaxAddresses returns all unspent transaction outputs that pay to any of specified addresses in a wallet using the specified number of minimum and maximum number of confirmations as a filter.

func (*Client) ListUnspentMinMaxAddressesAsync

func (c *Client) ListUnspentMinMaxAddressesAsync(minConf, maxConf int, addrs []btcutil.Address) FutureListUnspentResult

ListUnspentMinMaxAddressesAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListUnspentMinMaxAddresses for the blocking version and more details.

func (*Client) ListUnspentMinMaxAsync

func (c *Client) ListUnspentMinMaxAsync(minConf, maxConf int) FutureListUnspentResult

ListUnspentMinMaxAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ListUnspentMinMax for the blocking version and more details.

func (*Client) LockUnspent

func (c *Client) LockUnspent(unlock bool, ops []*wire.OutPoint) error

LockUnspent marks outputs as locked or unlocked, depending on the value of the unlock bool. When locked, the unspent output will not be selected as input for newly created, non-raw transactions, and will not be returned in future ListUnspent results, until the output is marked unlocked again.

If unlock is false, each outpoint in ops will be marked locked. If unlocked is true and specific outputs are specified in ops (len != 0), exactly those outputs will be marked unlocked. If unlocked is true and no outpoints are specified, all previous locked outputs are marked unlocked.

The locked or unlocked state of outputs are not written to disk and after restarting a wallet process, this data will be reset (every output unlocked).

NOTE: While this method would be a bit more readable if the unlock bool was reversed (that is, LockUnspent(true, ...) locked the outputs), it has been left as unlock to keep compatibility with the reference client API and to avoid confusion for those who are already familiar with the lockunspent RPC.

func (*Client) LockUnspentAsync

func (c *Client) LockUnspentAsync(unlock bool, ops []*wire.OutPoint) FutureLockUnspentResult

LockUnspentAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See LockUnspent for the blocking version and more details.

func (*Client) Move

func (c *Client) Move(fromAccount, toAccount string, amount btcutil.Amount) (bool, error)

Move moves specified amount from one account in your wallet to another. Only funds with the default number of minimum confirmations will be used.

See MoveMinConf and MoveComment for different options.

func (*Client) MoveAsync

func (c *Client) MoveAsync(fromAccount, toAccount string, amount btcutil.Amount) FutureMoveResult

MoveAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See Move for the blocking version and more details.

func (*Client) MoveComment

func (c *Client) MoveComment(fromAccount, toAccount string, amount btcutil.Amount,
	minConf int, comment string) (bool, error)

MoveComment moves specified amount from one account in your wallet to another and stores the provided comment in the wallet. The comment parameter is only available in the wallet. Only funds with the passed number of minimum confirmations will be used.

See Move and MoveMinConf to use defaults.

func (*Client) MoveCommentAsync

func (c *Client) MoveCommentAsync(fromAccount, toAccount string,
	amount btcutil.Amount, minConfirms int, comment string) FutureMoveResult

MoveCommentAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See MoveComment for the blocking version and more details.

func (*Client) MoveMinConf

func (c *Client) MoveMinConf(fromAccount, toAccount string, amount btcutil.Amount, minConf int) (bool, error)

MoveMinConf moves specified amount from one account in your wallet to another. Only funds with the passed number of minimum confirmations will be used.

See Move to use the default number of minimum confirmations and MoveComment for additional options.

func (*Client) MoveMinConfAsync

func (c *Client) MoveMinConfAsync(fromAccount, toAccount string,
	amount btcutil.Amount, minConfirms int) FutureMoveResult

MoveMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See MoveMinConf for the blocking version and more details.

func (*Client) NextID

func (c *Client) NextID() uint64

NextID returns the next id to be used when sending a JSON-RPC message. This ID allows responses to be associated with particular requests per the JSON-RPC specification. Typically the consumer of the client does not need to call this function, however, if a custom request is being created and used this function should be used to ensure the ID is unique amongst all requests being made.

func (*Client) Ping

func (c *Client) Ping() error

Ping queues a ping to be sent to each connected peer.

Use the GetPeerInfo function and examine the PingTime and PingWait fields to access the ping times.

func (*Client) PingAsync

func (c *Client) PingAsync() FuturePingResult

PingAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See Ping for the blocking version and more details.

func (*Client) RawRequest

func (c *Client) RawRequest(method string, params []json.RawMessage) (json.RawMessage, error)

RawRequest allows the caller to send a raw or custom request to the server. This method may be used to send and receive requests and responses for requests that are not handled by this client package, or to proxy partially unmarshaled requests to another JSON-RPC server if a request cannot be handled directly.

func (*Client) RawRequestAsync

func (c *Client) RawRequestAsync(method string, params []json.RawMessage) FutureRawResult

RawRequestAsync returns an instance of a type that can be used to get the result of a custom RPC request at some future time by invoking the Receive function on the returned instance.

See RawRequest for the blocking version and more details.

func (*Client) RenameAccount

func (c *Client) RenameAccount(oldAccount, newAccount string) error

RenameAccount creates a new wallet account.

func (*Client) RenameAccountAsync

func (c *Client) RenameAccountAsync(oldAccount, newAccount string) FutureRenameAccountResult

RenameAccountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See RenameAccount for the blocking version and more details.

func (*Client) SearchRawTransactions

func (c *Client) SearchRawTransactions(address btcutil.Address, skip, count int, reverse bool, filterAddrs []string) ([]*wire.MsgTx, error)

SearchRawTransactions returns transactions that involve the passed address.

NOTE: Chain servers do not typically provide this capability unless it has specifically been enabled.

See SearchRawTransactionsVerbose to retrieve a list of data structures with information about the transactions instead of the transactions themselves.

func (*Client) SearchRawTransactionsAsync

func (c *Client) SearchRawTransactionsAsync(address btcutil.Address, skip, count int, reverse bool, filterAddrs []string) FutureSearchRawTransactionsResult

SearchRawTransactionsAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SearchRawTransactions for the blocking version and more details.

func (*Client) SearchRawTransactionsVerbose

func (c *Client) SearchRawTransactionsVerbose(address btcutil.Address, skip,
	count int, includePrevOut, reverse bool, filterAddrs []string) ([]*btcjson.SearchRawTransactionsResult, error)

SearchRawTransactionsVerbose returns a list of data structures that describe transactions which involve the passed address.

NOTE: Chain servers do not typically provide this capability unless it has specifically been enabled.

See SearchRawTransactions to retrieve a list of raw transactions instead.

func (*Client) SearchRawTransactionsVerboseAsync

func (c *Client) SearchRawTransactionsVerboseAsync(address btcutil.Address, skip,
	count int, includePrevOut, reverse bool, filterAddrs *[]string) FutureSearchRawTransactionsVerboseResult

SearchRawTransactionsVerboseAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SearchRawTransactionsVerbose for the blocking version and more details.

func (*Client) SendFrom

func (c *Client) SendFrom(fromAccount string, toAddress btcutil.Address, amount btcutil.Amount) (*chainhash.Hash, error)

SendFrom sends the passed amount to the given address using the provided account as a source of funds. Only funds with the default number of minimum confirmations will be used.

See SendFromMinConf and SendFromComment for different options.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SendFromAsync

func (c *Client) SendFromAsync(fromAccount string, toAddress btcutil.Address, amount btcutil.Amount) FutureSendFromResult

SendFromAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendFrom for the blocking version and more details.

func (*Client) SendFromComment

func (c *Client) SendFromComment(fromAccount string, toAddress btcutil.Address,
	amount btcutil.Amount, minConfirms int,
	comment, commentTo string) (*chainhash.Hash, error)

SendFromComment sends the passed amount to the given address using the provided account as a source of funds and stores the provided comment and comment to in the wallet. The comment parameter is intended to be used for the purpose of the transaction while the commentTo parameter is indended to be used for who the transaction is being sent to. Only funds with the passed number of minimum confirmations will be used.

See SendFrom and SendFromMinConf to use defaults.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SendFromCommentAsync

func (c *Client) SendFromCommentAsync(fromAccount string,
	toAddress btcutil.Address, amount btcutil.Amount, minConfirms int,
	comment, commentTo string) FutureSendFromResult

SendFromCommentAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendFromComment for the blocking version and more details.

func (*Client) SendFromMinConf

func (c *Client) SendFromMinConf(fromAccount string, toAddress btcutil.Address, amount btcutil.Amount, minConfirms int) (*chainhash.Hash, error)

SendFromMinConf sends the passed amount to the given address using the provided account as a source of funds. Only funds with the passed number of minimum confirmations will be used.

See SendFrom to use the default number of minimum confirmations and SendFromComment for additional options.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SendFromMinConfAsync

func (c *Client) SendFromMinConfAsync(fromAccount string, toAddress btcutil.Address, amount btcutil.Amount, minConfirms int) FutureSendFromResult

SendFromMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendFromMinConf for the blocking version and more details.

func (*Client) SendMany

func (c *Client) SendMany(fromAccount string, amounts map[btcutil.Address]btcutil.Amount) (*chainhash.Hash, error)

SendMany sends multiple amounts to multiple addresses using the provided account as a source of funds in a single transaction. Only funds with the default number of minimum confirmations will be used.

See SendManyMinConf and SendManyComment for different options.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SendManyAsync

func (c *Client) SendManyAsync(fromAccount string, amounts map[btcutil.Address]btcutil.Amount) FutureSendManyResult

SendManyAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendMany for the blocking version and more details.

func (*Client) SendManyComment

func (c *Client) SendManyComment(fromAccount string,
	amounts map[btcutil.Address]btcutil.Amount, minConfirms int,
	comment string) (*chainhash.Hash, error)

SendManyComment sends multiple amounts to multiple addresses using the provided account as a source of funds in a single transaction and stores the provided comment in the wallet. The comment parameter is intended to be used for the purpose of the transaction Only funds with the passed number of minimum confirmations will be used.

See SendMany and SendManyMinConf to use defaults.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SendManyCommentAsync

func (c *Client) SendManyCommentAsync(fromAccount string,
	amounts map[btcutil.Address]btcutil.Amount, minConfirms int,
	comment string) FutureSendManyResult

SendManyCommentAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendManyComment for the blocking version and more details.

func (*Client) SendManyMinConf

func (c *Client) SendManyMinConf(fromAccount string,
	amounts map[btcutil.Address]btcutil.Amount,
	minConfirms int) (*chainhash.Hash, error)

SendManyMinConf sends multiple amounts to multiple addresses using the provided account as a source of funds in a single transaction. Only funds with the passed number of minimum confirmations will be used.

See SendMany to use the default number of minimum confirmations and SendManyComment for additional options.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SendManyMinConfAsync

func (c *Client) SendManyMinConfAsync(fromAccount string,
	amounts map[btcutil.Address]btcutil.Amount,
	minConfirms int) FutureSendManyResult

SendManyMinConfAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendManyMinConf for the blocking version and more details.

func (*Client) SendRawTransaction

func (c *Client) SendRawTransaction(tx *wire.MsgTx) (*chainhash.Hash, error)

SendRawTransaction submits the encoded transaction to the server which will then relay it to the network.

func (*Client) SendRawTransactionAsync

func (c *Client) SendRawTransactionAsync(tx *wire.MsgTx) FutureSendRawTransactionResult

SendRawTransactionAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendRawTransaction for the blocking version and more details.

func (*Client) SendToAddress

func (c *Client) SendToAddress(address btcutil.Address, amount btcutil.Amount) (*chainhash.Hash, error)

SendToAddress sends the passed amount to the given address.

See SendToAddressComment to associate comments with the transaction in the wallet. The comments are not part of the transaction and are only internal to the wallet.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SendToAddressAsync

func (c *Client) SendToAddressAsync(address btcutil.Address, amount btcutil.Amount) FutureSendToAddressResult

SendToAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendToAddress for the blocking version and more details.

func (*Client) SendToAddressComment

func (c *Client) SendToAddressComment(address btcutil.Address, amount btcutil.Amount, comment, commentTo string) (*chainhash.Hash, error)

SendToAddressComment sends the passed amount to the given address and stores the provided comment and comment to in the wallet. The comment parameter is intended to be used for the purpose of the transaction while the commentTo parameter is indended to be used for who the transaction is being sent to.

The comments are not part of the transaction and are only internal to the wallet.

See SendToAddress to avoid using comments.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SendToAddressCommentAsync

func (c *Client) SendToAddressCommentAsync(address btcutil.Address,
	amount btcutil.Amount, comment,
	commentTo string) FutureSendToAddressResult

SendToAddressCommentAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SendToAddressComment for the blocking version and more details.

func (*Client) SetAccount

func (c *Client) SetAccount(address btcutil.Address, account string) error

SetAccount sets the account associated with the passed address.

func (*Client) SetAccountAsync

func (c *Client) SetAccountAsync(address btcutil.Address, account string) FutureSetAccountResult

SetAccountAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SetAccount for the blocking version and more details.

func (*Client) SetGenerate

func (c *Client) SetGenerate(enable bool, numCPUs int) error

SetGenerate sets the server to generate coins (mine) or not.

func (*Client) SetGenerateAsync

func (c *Client) SetGenerateAsync(enable bool, numCPUs int) FutureSetGenerateResult

SetGenerateAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SetGenerate for the blocking version and more details.

func (*Client) SetTxFee

func (c *Client) SetTxFee(fee btcutil.Amount) error

SetTxFee sets an optional transaction fee per KB that helps ensure transactions are processed quickly. Most transaction are 1KB.

func (*Client) SetTxFeeAsync

func (c *Client) SetTxFeeAsync(fee btcutil.Amount) FutureSetTxFeeResult

SetTxFeeAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SetTxFee for the blocking version and more details.

func (*Client) Shutdown

func (c *Client) Shutdown()

Shutdown shuts down the client.

func (*Client) SignMessage

func (c *Client) SignMessage(address btcutil.Address, message string) (string, error)

SignMessage signs a message with the private key of the specified address.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) SignMessageAsync

func (c *Client) SignMessageAsync(address btcutil.Address, message string) FutureSignMessageResult

SignMessageAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SignMessage for the blocking version and more details.

func (*Client) SignRawTransaction

func (c *Client) SignRawTransaction(tx *wire.MsgTx) (*wire.MsgTx, bool, error)

SignRawTransaction signs inputs for the passed transaction and returns the signed transaction as well as whether or not all inputs are now signed.

This function assumes the RPC server already knows the input transactions and private keys for the passed transaction which needs to be signed and uses the default signature hash type. Use one of the SignRawTransaction# variants to specify that information if needed.

func (*Client) SignRawTransaction2

func (c *Client) SignRawTransaction2(tx *wire.MsgTx, inputs []btcjson.RawTxInput) (*wire.MsgTx, bool, error)

SignRawTransaction2 signs inputs for the passed transaction given the list of information about the input transactions needed to perform the signing process.

This only input transactions that need to be specified are ones the RPC server does not already know. Already known input transactions will be merged with the specified transactions.

See SignRawTransaction if the RPC server already knows the input transactions.

func (*Client) SignRawTransaction2Async

func (c *Client) SignRawTransaction2Async(tx *wire.MsgTx, inputs []btcjson.RawTxInput) FutureSignRawTransactionResult

SignRawTransaction2Async returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SignRawTransaction2 for the blocking version and more details.

func (*Client) SignRawTransaction3

func (c *Client) SignRawTransaction3(tx *wire.MsgTx,
	inputs []btcjson.RawTxInput,
	privKeysWIF []string) (*wire.MsgTx, bool, error)

SignRawTransaction3 signs inputs for the passed transaction given the list of information about extra input transactions and a list of private keys needed to perform the signing process. The private keys must be in wallet import format (WIF).

This only input transactions that need to be specified are ones the RPC server does not already know. Already known input transactions will be merged with the specified transactions. This means the list of transaction inputs can be nil if the RPC server already knows them all.

NOTE: Unlike the merging functionality of the input transactions, ONLY the specified private keys will be used, so even if the server already knows some of the private keys, they will NOT be used.

See SignRawTransaction if the RPC server already knows the input transactions and private keys or SignRawTransaction2 if it already knows the private keys.

func (*Client) SignRawTransaction3Async

func (c *Client) SignRawTransaction3Async(tx *wire.MsgTx,
	inputs []btcjson.RawTxInput,
	privKeysWIF []string) FutureSignRawTransactionResult

SignRawTransaction3Async returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SignRawTransaction3 for the blocking version and more details.

func (*Client) SignRawTransaction4

func (c *Client) SignRawTransaction4(tx *wire.MsgTx,
	inputs []btcjson.RawTxInput, privKeysWIF []string,
	hashType SigHashType) (*wire.MsgTx, bool, error)

SignRawTransaction4 signs inputs for the passed transaction using the the specified signature hash type given the list of information about extra input transactions and a potential list of private keys needed to perform the signing process. The private keys, if specified, must be in wallet import format (WIF).

The only input transactions that need to be specified are ones the RPC server does not already know. This means the list of transaction inputs can be nil if the RPC server already knows them all.

NOTE: Unlike the merging functionality of the input transactions, ONLY the specified private keys will be used, so even if the server already knows some of the private keys, they will NOT be used. The list of private keys can be nil in which case any private keys the RPC server knows will be used.

This function should only used if a non-default signature hash type is desired. Otherwise, see SignRawTransaction if the RPC server already knows the input transactions and private keys, SignRawTransaction2 if it already knows the private keys, or SignRawTransaction3 if it does not know both.

func (*Client) SignRawTransaction4Async

func (c *Client) SignRawTransaction4Async(tx *wire.MsgTx,
	inputs []btcjson.RawTxInput, privKeysWIF []string,
	hashType SigHashType) FutureSignRawTransactionResult

SignRawTransaction4Async returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SignRawTransaction4 for the blocking version and more details.

func (*Client) SignRawTransactionAsync

func (c *Client) SignRawTransactionAsync(tx *wire.MsgTx) FutureSignRawTransactionResult

SignRawTransactionAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SignRawTransaction for the blocking version and more details.

func (*Client) SignRawTransactionWithWallet

func (c *Client) SignRawTransactionWithWallet(tx *wire.MsgTx) (*wire.MsgTx, bool, error)

SignRawTransaction signs inputs for the passed transaction and returns the signed transaction as well as whether or not all inputs are now signed.

This function assumes the RPC server already knows the input transactions and private keys for the passed transaction which needs to be signed and uses the default signature hash type. Use one of the SignRawTransaction# variants to specify that information if needed.

func (*Client) SignRawTransactionWithWalletAsync

func (c *Client) SignRawTransactionWithWalletAsync(tx *wire.MsgTx) FutureSignRawTransactionResult

func (*Client) SubmitBlock

func (c *Client) SubmitBlock(block *btcutil.Block, options *btcjson.SubmitBlockOptions) error

SubmitBlock attempts to submit a new block into the bitcoin network.

func (*Client) SubmitBlockAsync

func (c *Client) SubmitBlockAsync(block *btcutil.Block, options *btcjson.SubmitBlockOptions) FutureSubmitBlockResult

SubmitBlockAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See SubmitBlock for the blocking version and more details.

func (*Client) ValidateAddress

func (c *Client) ValidateAddress(address btcutil.Address) (*btcjson.ValidateAddressWalletResult, error)

ValidateAddress returns information about the given bitcoin address.

func (*Client) ValidateAddressAsync

func (c *Client) ValidateAddressAsync(address btcutil.Address) FutureValidateAddressResult

ValidateAddressAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See ValidateAddress for the blocking version and more details.

func (*Client) VerifyChain

func (c *Client) VerifyChain() (bool, error)

VerifyChain requests the server to verify the block chain database using the default check level and number of blocks to verify.

See VerifyChainLevel and VerifyChainBlocks to override the defaults.

func (*Client) VerifyChainAsync

func (c *Client) VerifyChainAsync() FutureVerifyChainResult

VerifyChainAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See VerifyChain for the blocking version and more details.

func (*Client) VerifyChainBlocks

func (c *Client) VerifyChainBlocks(checkLevel, numBlocks int32) (bool, error)

VerifyChainBlocks requests the server to verify the block chain database using the passed check level and number of blocks to verify.

The check level controls how thorough the verification is with higher numbers increasing the amount of checks done as consequently how long the verification takes.

The number of blocks refers to the number of blocks from the end of the current longest chain.

See VerifyChain and VerifyChainLevel to use defaults.

func (*Client) VerifyChainBlocksAsync

func (c *Client) VerifyChainBlocksAsync(checkLevel, numBlocks int32) FutureVerifyChainResult

VerifyChainBlocksAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See VerifyChainBlocks for the blocking version and more details.

func (*Client) VerifyChainLevel

func (c *Client) VerifyChainLevel(checkLevel int32) (bool, error)

VerifyChainLevel requests the server to verify the block chain database using the passed check level and default number of blocks to verify.

The check level controls how thorough the verification is with higher numbers increasing the amount of checks done as consequently how long the verification takes.

See VerifyChain to use the default check level and VerifyChainBlocks to override the number of blocks to verify.

func (*Client) VerifyChainLevelAsync

func (c *Client) VerifyChainLevelAsync(checkLevel int32) FutureVerifyChainResult

VerifyChainLevelAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See VerifyChainLevel for the blocking version and more details.

func (*Client) VerifyMessage

func (c *Client) VerifyMessage(address btcutil.Address, signature, message string) (bool, error)

VerifyMessage verifies a signed message.

NOTE: This function requires to the wallet to be unlocked. See the WalletPassphrase function for more details.

func (*Client) VerifyMessageAsync

func (c *Client) VerifyMessageAsync(address btcutil.Address, signature, message string) FutureVerifyMessageResult

VerifyMessageAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See VerifyMessage for the blocking version and more details.

func (*Client) WaitForShutdown

func (c *Client) WaitForShutdown()

WaitForShutdown blocks until the client goroutines are stopped and the connection is closed.

func (*Client) WalletLock

func (c *Client) WalletLock() error

WalletLock locks the wallet by removing the encryption key from memory.

After calling this function, the WalletPassphrase function must be used to unlock the wallet prior to calling any other function which requires the wallet to be unlocked.

func (*Client) WalletLockAsync

func (c *Client) WalletLockAsync() FutureWalletLockResult

WalletLockAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See WalletLock for the blocking version and more details.

func (*Client) WalletPassphrase

func (c *Client) WalletPassphrase(passphrase string, timeoutSecs int64) error

WalletPassphrase unlocks the wallet by using the passphrase to derive the decryption key which is then stored in memory for the specified timeout (in seconds).

func (*Client) WalletPassphraseChange

func (c *Client) WalletPassphraseChange(old, new string) error

WalletPassphraseChange changes the wallet passphrase from the specified old to new passphrase.

func (*Client) WalletPassphraseChangeAsync

func (c *Client) WalletPassphraseChangeAsync(old, new string) FutureWalletPassphraseChangeResult

WalletPassphraseChangeAsync returns an instance of a type that can be used to get the result of the RPC at some future time by invoking the Receive function on the returned instance.

See WalletPassphraseChange for the blocking version and more details.

type ConnConfig

type ConnConfig struct {
	// Host is the IP address and port of the RPC server you want to connect
	// to.
	Host string

	// User is the username to use to authenticate to the RPC server.
	User string

	// Pass is the passphrase to use to authenticate to the RPC server.
	Pass string

	// EnableTLS specifies whether transport layer security should be
	// enabled.  It is recommended to always use TLS if the RPC server
	// supports it as otherwise your username and password is sent across
	// the wire in cleartext.
	EnableTLS bool

	// Certificates are the bytes for a PEM-encoded certificate chain used
	// for the TLS connection.  It has no effect if the EnableTLS parameter
	// is false.
	Certificates []byte

	// Proxy specifies to connect through a SOCKS 5 proxy server.  It may
	// be an empty string if a proxy is not required.
	Proxy string

	// ProxyUser is an optional username to use for the proxy server if it
	// requires authentication.  It has no effect if the Proxy parameter
	// is not set.
	ProxyUser string

	// ProxyPass is an optional password to use for the proxy server if it
	// requires authentication.  It has no effect if the Proxy parameter
	// is not set.
	ProxyPass string

	// EnableBCInfoHacks is an option provided to enable compatibility hacks
	// when connecting to blockchain.info RPC server
	EnableBCInfoHacks bool
}

ConnConfig describes the connection configuration parameters for the client. This

type FutureAddMultisigAddressResult

type FutureAddMultisigAddressResult chan *response

FutureAddMultisigAddressResult is a future promise to deliver the result of a AddMultisigAddressAsync RPC invocation (or an applicable error).

func (FutureAddMultisigAddressResult) Receive

Receive waits for the response promised by the future and returns the multisignature address that requires the specified number of signatures for the provided addresses.

type FutureAddNodeResult

type FutureAddNodeResult chan *response

FutureAddNodeResult is a future promise to deliver the result of an AddNodeAsync RPC invocation (or an applicable error).

func (FutureAddNodeResult) Receive

func (r FutureAddNodeResult) Receive() error

Receive waits for the response promised by the future and returns an error if any occurred when performing the specified command.

type FutureAddWitnessAddressResult

type FutureAddWitnessAddressResult chan *response

FutureAddWitnessAddressResult is a future promise to deliver the result of a AddWitnessAddressAsync RPC invocation (or an applicable error).

func (FutureAddWitnessAddressResult) Receive

Receive waits for the response promised by the future and returns the new address.

type FutureCreateMultisigResult

type FutureCreateMultisigResult chan *response

FutureCreateMultisigResult is a future promise to deliver the result of a CreateMultisigAsync RPC invocation (or an applicable error).

func (FutureCreateMultisigResult) Receive

Receive waits for the response promised by the future and returns the multisignature address and script needed to redeem it.

type FutureCreateNewAccountResult

type FutureCreateNewAccountResult chan *response

FutureCreateNewAccountResult is a future promise to deliver the result of a CreateNewAccountAsync RPC invocation (or an applicable error).

func (FutureCreateNewAccountResult) Receive

func (r FutureCreateNewAccountResult) Receive() error

Receive waits for the response promised by the future and returns the result of creating new account.

type FutureCreateRawTransactionResult

type FutureCreateRawTransactionResult chan *response

FutureCreateRawTransactionResult is a future promise to deliver the result of a CreateRawTransactionAsync RPC invocation (or an applicable error).

func (FutureCreateRawTransactionResult) Receive

Receive waits for the response promised by the future and returns a new transaction spending the provided inputs and sending to the provided addresses.

type FutureDecodeRawTransactionResult

type FutureDecodeRawTransactionResult chan *response

FutureDecodeRawTransactionResult is a future promise to deliver the result of a DecodeRawTransactionAsync RPC invocation (or an applicable error).

func (FutureDecodeRawTransactionResult) Receive

Receive waits for the response promised by the future and returns information about a transaction given its serialized bytes.

type FutureDecodeScriptResult

type FutureDecodeScriptResult chan *response

FutureDecodeScriptResult is a future promise to deliver the result of a DecodeScriptAsync RPC invocation (or an applicable error).

func (FutureDecodeScriptResult) Receive

Receive waits for the response promised by the future and returns information about a script given its serialized bytes.

type FutureDumpPrivKeyResult

type FutureDumpPrivKeyResult chan *response

FutureDumpPrivKeyResult is a future promise to deliver the result of a DumpPrivKeyAsync RPC invocation (or an applicable error).

func (FutureDumpPrivKeyResult) Receive

func (r FutureDumpPrivKeyResult) Receive() (*btcutil.WIF, error)

Receive waits for the response promised by the future and returns the private key corresponding to the passed address encoded in the wallet import format (WIF)

type FutureEstimateFeeResult

type FutureEstimateFeeResult chan *response

FutureEstimateFeeResult is a future promise to deliver the result of a EstimateFeeAsync RPC invocation (or an applicable error).

func (FutureEstimateFeeResult) Receive

func (r FutureEstimateFeeResult) Receive() (float64, error)

Receive waits for the response promised by the future and returns the info provided by the server.

type FutureEstimateSmartFeeResult

type FutureEstimateSmartFeeResult chan *response

FutureEstimateSmartFeeResult is a promise to deliver the result of a EstimateSmartFeeAsync RPC invocation (or an applicable error).

func (FutureEstimateSmartFeeResult) Receive

Receive waits for the response promised by the future and returns the fee estimation info result provided by the server.

type FutureGenerateResult

type FutureGenerateResult chan *response

FutureGenerateResult is a future promise to deliver the result of a GenerateAsync RPC invocation (or an applicable error).

func (FutureGenerateResult) Receive

func (r FutureGenerateResult) Receive() ([]*chainhash.Hash, error)

Receive waits for the response promised by the future and returns a list of block hashes generated by the call.

type FutureGetAccountAddressResult

type FutureGetAccountAddressResult chan *response

FutureGetAccountAddressResult is a future promise to deliver the result of a GetAccountAddressAsync RPC invocation (or an applicable error).

func (FutureGetAccountAddressResult) Receive

Receive waits for the response promised by the future and returns the current Bitcoin address for receiving payments to the specified account.

type FutureGetAccountResult

type FutureGetAccountResult chan *response

FutureGetAccountResult is a future promise to deliver the result of a GetAccountAsync RPC invocation (or an applicable error).

func (FutureGetAccountResult) Receive

func (r FutureGetAccountResult) Receive() (string, error)

Receive waits for the response promised by the future and returns the account associated with the passed address.

type FutureGetAddedNodeInfoNoDNSResult

type FutureGetAddedNodeInfoNoDNSResult chan *response

FutureGetAddedNodeInfoNoDNSResult is a future promise to deliver the result of a GetAddedNodeInfoNoDNSAsync RPC invocation (or an applicable error).

func (FutureGetAddedNodeInfoNoDNSResult) Receive

Receive waits for the response promised by the future and returns a list of manually added (persistent) peers.

type FutureGetAddedNodeInfoResult

type FutureGetAddedNodeInfoResult chan *response

FutureGetAddedNodeInfoResult is a future promise to deliver the result of a GetAddedNodeInfoAsync RPC invocation (or an applicable error).

func (FutureGetAddedNodeInfoResult) Receive

Receive waits for the response promised by the future and returns information about manually added (persistent) peers.

type FutureGetAddressesByAccountResult

type FutureGetAddressesByAccountResult chan *response

FutureGetAddressesByAccountResult is a future promise to deliver the result of a GetAddressesByAccountAsync RPC invocation (or an applicable error).

func (FutureGetAddressesByAccountResult) Receive

Receive waits for the response promised by the future and returns the list of addresses associated with the passed account.

type FutureGetBalanceParseResult

type FutureGetBalanceParseResult chan *response

FutureGetBalanceParseResult is same as FutureGetBalanceResult except that the result is expected to be a string which is then parsed into a float64 value This is required for compatibility with servers like blockchain.info

func (FutureGetBalanceParseResult) Receive

Receive waits for the response promised by the future and returns the available balance from the server for the specified account.

type FutureGetBalanceResult

type FutureGetBalanceResult chan *response

FutureGetBalanceResult is a future promise to deliver the result of a GetBalanceAsync or GetBalanceMinConfAsync RPC invocation (or an applicable error).

func (FutureGetBalanceResult) Receive

func (r FutureGetBalanceResult) Receive() (btcutil.Amount, error)

Receive waits for the response promised by the future and returns the available balance from the server for the specified account.

type FutureGetBestBlockHashResult

type FutureGetBestBlockHashResult chan *response

FutureGetBestBlockHashResult is a future promise to deliver the result of a GetBestBlockAsync RPC invocation (or an applicable error).

func (FutureGetBestBlockHashResult) Receive

Receive waits for the response promised by the future and returns the hash of the best block in the longest block chain.

type FutureGetBlockChainInfoResult

type FutureGetBlockChainInfoResult chan *response

FutureGetBlockChainInfoResult is a promise to deliver the result of a GetBlockChainInfoAsync RPC invocation (or an applicable error).

func (FutureGetBlockChainInfoResult) Receive

Receive waits for the response promised by the future and returns chain info result provided by the server.

type FutureGetBlockCountResult

type FutureGetBlockCountResult chan *response

FutureGetBlockCountResult is a future promise to deliver the result of a GetBlockCountAsync RPC invocation (or an applicable error).

func (FutureGetBlockCountResult) Receive

func (r FutureGetBlockCountResult) Receive() (int64, error)

Receive waits for the response promised by the future and returns the number of blocks in the longest block chain.

type FutureGetBlockHashResult

type FutureGetBlockHashResult chan *response

FutureGetBlockHashResult is a future promise to deliver the result of a GetBlockHashAsync RPC invocation (or an applicable error).

func (FutureGetBlockHashResult) Receive

func (r FutureGetBlockHashResult) Receive() (*chainhash.Hash, error)

Receive waits for the response promised by the future and returns the hash of the block in the best block chain at the given height.

type FutureGetBlockHeaderResult

type FutureGetBlockHeaderResult chan *response

FutureGetBlockHeaderResult is a future promise to deliver the result of a GetBlockHeaderAsync RPC invocation (or an applicable error).

func (FutureGetBlockHeaderResult) Receive

Receive waits for the response promised by the future and returns the blockheader requested from the server given its hash.

type FutureGetBlockHeaderVerboseResult

type FutureGetBlockHeaderVerboseResult chan *response

FutureGetBlockHeaderVerboseResult is a future promise to deliver the result of a GetBlockAsync RPC invocation (or an applicable error).

func (FutureGetBlockHeaderVerboseResult) Receive

Receive waits for the response promised by the future and returns the data structure of the blockheader requested from the server given its hash.

type FutureGetBlockResult

type FutureGetBlockResult chan *response

FutureGetBlockResult is a future promise to deliver the result of a GetBlockAsync RPC invocation (or an applicable error).

func (FutureGetBlockResult) Receive

func (r FutureGetBlockResult) Receive() (*wire.MsgBlock, error)

Receive waits for the response promised by the future and returns the raw block requested from the server given its hash.

type FutureGetBlockVerboseResult

type FutureGetBlockVerboseResult chan *response

FutureGetBlockVerboseResult is a future promise to deliver the result of a GetBlockVerboseAsync RPC invocation (or an applicable error).

func (FutureGetBlockVerboseResult) Receive

Receive waits for the response promised by the future and returns the data structure from the server with information about the requested block.

type FutureGetCFilterHeaderResult

type FutureGetCFilterHeaderResult chan *response

FutureGetCFilterHeaderResult is a future promise to deliver the result of a GetCFilterHeaderAsync RPC invocation (or an applicable error).

func (FutureGetCFilterHeaderResult) Receive

Receive waits for the response promised by the future and returns the raw filter header requested from the server given its block hash.

type FutureGetCFilterResult

type FutureGetCFilterResult chan *response

FutureGetCFilterResult is a future promise to deliver the result of a GetCFilterAsync RPC invocation (or an applicable error).

func (FutureGetCFilterResult) Receive

func (r FutureGetCFilterResult) Receive() (*wire.MsgCFilter, error)

Receive waits for the response promised by the future and returns the raw filter requested from the server given its block hash.

type FutureGetConnectionCountResult

type FutureGetConnectionCountResult chan *response

FutureGetConnectionCountResult is a future promise to deliver the result of a GetConnectionCountAsync RPC invocation (or an applicable error).

func (FutureGetConnectionCountResult) Receive

Receive waits for the response promised by the future and returns the number of active connections to other peers.

type FutureGetDifficultyResult

type FutureGetDifficultyResult chan *response

FutureGetDifficultyResult is a future promise to deliver the result of a GetDifficultyAsync RPC invocation (or an applicable error).

func (FutureGetDifficultyResult) Receive

func (r FutureGetDifficultyResult) Receive() (float64, error)

Receive waits for the response promised by the future and returns the proof-of-work difficulty as a multiple of the minimum difficulty.

type FutureGetGenerateResult

type FutureGetGenerateResult chan *response

FutureGetGenerateResult is a future promise to deliver the result of a GetGenerateAsync RPC invocation (or an applicable error).

func (FutureGetGenerateResult) Receive

func (r FutureGetGenerateResult) Receive() (bool, error)

Receive waits for the response promised by the future and returns true if the server is set to mine, otherwise false.

type FutureGetHashesPerSecResult

type FutureGetHashesPerSecResult chan *response

FutureGetHashesPerSecResult is a future promise to deliver the result of a GetHashesPerSecAsync RPC invocation (or an applicable error).

func (FutureGetHashesPerSecResult) Receive

func (r FutureGetHashesPerSecResult) Receive() (int64, error)

Receive waits for the response promised by the future and returns a recent hashes per second performance measurement while generating coins (mining). Zero is returned if the server is not mining.

type FutureGetInfoResult

type FutureGetInfoResult chan *response

FutureGetInfoResult is a future promise to deliver the result of a GetInfoAsync RPC invocation (or an applicable error).

func (FutureGetInfoResult) Receive

Receive waits for the response promised by the future and returns the info provided by the server.

type FutureGetMempoolEntryResult

type FutureGetMempoolEntryResult chan *response

FutureGetMempoolEntryResult is a future promise to deliver the result of a GetMempoolEntryAsync RPC invocation (or an applicable error).

func (FutureGetMempoolEntryResult) Receive

Receive waits for the response promised by the future and returns a data structure with information about the transaction in the memory pool given its hash.

type FutureGetMiningInfoResult

type FutureGetMiningInfoResult chan *response

FutureGetMiningInfoResult is a future promise to deliver the result of a GetMiningInfoAsync RPC invocation (or an applicable error).

func (FutureGetMiningInfoResult) Receive

Receive waits for the response promised by the future and returns the mining information.

type FutureGetNetTotalsResult

type FutureGetNetTotalsResult chan *response

FutureGetNetTotalsResult is a future promise to deliver the result of a GetNetTotalsAsync RPC invocation (or an applicable error).

func (FutureGetNetTotalsResult) Receive

Receive waits for the response promised by the future and returns network traffic statistics.

type FutureGetNetworkHashPS

type FutureGetNetworkHashPS chan *response

FutureGetNetworkHashPS is a future promise to deliver the result of a GetNetworkHashPSAsync RPC invocation (or an applicable error).

func (FutureGetNetworkHashPS) Receive

func (r FutureGetNetworkHashPS) Receive() (int64, error)

Receive waits for the response promised by the future and returns the estimated network hashes per second for the block heights provided by the parameters.

type FutureGetNewAddressResult

type FutureGetNewAddressResult chan *response

FutureGetNewAddressResult is a future promise to deliver the result of a GetNewAddressAsync RPC invocation (or an applicable error).

func (FutureGetNewAddressResult) Receive

Receive waits for the response promised by the future and returns a new address.

type FutureGetPeerInfoResult

type FutureGetPeerInfoResult chan *response

FutureGetPeerInfoResult is a future promise to deliver the result of a GetPeerInfoAsync RPC invocation (or an applicable error).

func (FutureGetPeerInfoResult) Receive

Receive waits for the response promised by the future and returns data about each connected network peer.

type FutureGetRawChangeAddressResult

type FutureGetRawChangeAddressResult chan *response

FutureGetRawChangeAddressResult is a future promise to deliver the result of a GetRawChangeAddressAsync RPC invocation (or an applicable error).

func (FutureGetRawChangeAddressResult) Receive

Receive waits for the response promised by the future and returns a new address for receiving change that will be associated with the provided account. Note that this is only for raw transactions and NOT for normal use.

type FutureGetRawMempoolResult

type FutureGetRawMempoolResult chan *response

FutureGetRawMempoolResult is a future promise to deliver the result of a GetRawMempoolAsync RPC invocation (or an applicable error).

func (FutureGetRawMempoolResult) Receive

func (r FutureGetRawMempoolResult) Receive() ([]*chainhash.Hash, error)

Receive waits for the response promised by the future and returns the hashes of all transactions in the memory pool.

type FutureGetRawMempoolVerboseResult

type FutureGetRawMempoolVerboseResult chan *response

FutureGetRawMempoolVerboseResult is a future promise to deliver the result of a GetRawMempoolVerboseAsync RPC invocation (or an applicable error).

func (FutureGetRawMempoolVerboseResult) Receive

Receive waits for the response promised by the future and returns a map of transaction hashes to an associated data structure with information about the transaction for all transactions in the memory pool.

type FutureGetRawTransactionResult

type FutureGetRawTransactionResult chan *response

FutureGetRawTransactionResult is a future promise to deliver the result of a GetRawTransactionAsync RPC invocation (or an applicable error).

func (FutureGetRawTransactionResult) Receive

Receive waits for the response promised by the future and returns a transaction given its hash.

type FutureGetRawTransactionVerboseResult

type FutureGetRawTransactionVerboseResult chan *response

FutureGetRawTransactionVerboseResult is a future promise to deliver the result of a GetRawTransactionVerboseAsync RPC invocation (or an applicable error).

func (FutureGetRawTransactionVerboseResult) Receive

Receive waits for the response promised by the future and returns information about a transaction given its hash.

type FutureGetReceivedByAccountResult

type FutureGetReceivedByAccountResult chan *response

FutureGetReceivedByAccountResult is a future promise to deliver the result of a GetReceivedByAccountAsync or GetReceivedByAccountMinConfAsync RPC invocation (or an applicable error).

func (FutureGetReceivedByAccountResult) Receive

Receive waits for the response promised by the future and returns the total amount received with the specified account.

type FutureGetReceivedByAddressResult

type FutureGetReceivedByAddressResult chan *response

FutureGetReceivedByAddressResult is a future promise to deliver the result of a GetReceivedByAddressAsync or GetReceivedByAddressMinConfAsync RPC invocation (or an applicable error).

func (FutureGetReceivedByAddressResult) Receive

Receive waits for the response promised by the future and returns the total amount received by the specified address.

type FutureGetTransactionResult

type FutureGetTransactionResult chan *response

FutureGetTransactionResult is a future promise to deliver the result of a GetTransactionAsync RPC invocation (or an applicable error).

func (FutureGetTransactionResult) Receive

Receive waits for the response promised by the future and returns detailed information about a wallet transaction.

type FutureGetTxOutResult

type FutureGetTxOutResult chan *response

FutureGetTxOutResult is a future promise to deliver the result of a GetTxOutAsync RPC invocation (or an applicable error).

func (FutureGetTxOutResult) Receive

Receive waits for the response promised by the future and returns a transaction given its hash.

type FutureGetTxOutSetInfoResult

type FutureGetTxOutSetInfoResult chan *response

FutureGetTxOutSetInfoResult is a future promise to deliver the result of a GetTxOutSetInfoAsync RPC invocation (or an applicable error).

func (FutureGetTxOutSetInfoResult) Receive

Receive waits for the response promised by the future and returns network traffic statistics.

type FutureGetUnconfirmedBalanceResult

type FutureGetUnconfirmedBalanceResult chan *response

FutureGetUnconfirmedBalanceResult is a future promise to deliver the result of a GetUnconfirmedBalanceAsync RPC invocation (or an applicable error).

func (FutureGetUnconfirmedBalanceResult) Receive

Receive waits for the response promised by the future and returns returns the unconfirmed balance from the server for the specified account.

type FutureGetWork

type FutureGetWork chan *response

FutureGetWork is a future promise to deliver the result of a GetWorkAsync RPC invocation (or an applicable error).

func (FutureGetWork) Receive

func (r FutureGetWork) Receive() (*btcjson.GetWorkResult, error)

Receive waits for the response promised by the future and returns the hash data to work on.

type FutureGetWorkSubmit

type FutureGetWorkSubmit chan *response

FutureGetWorkSubmit is a future promise to deliver the result of a GetWorkSubmitAsync RPC invocation (or an applicable error).

func (FutureGetWorkSubmit) Receive

func (r FutureGetWorkSubmit) Receive() (bool, error)

Receive waits for the response promised by the future and returns whether or not the submitted block header was accepted.

type FutureImportAddressResult

type FutureImportAddressResult chan *response

FutureImportAddressResult is a future promise to deliver the result of an ImportAddressAsync RPC invocation (or an applicable error).

func (FutureImportAddressResult) Receive

func (r FutureImportAddressResult) Receive() error

Receive waits for the response promised by the future and returns the result of importing the passed public address.

type FutureImportPrivKeyResult

type FutureImportPrivKeyResult chan *response

FutureImportPrivKeyResult is a future promise to deliver the result of an ImportPrivKeyAsync RPC invocation (or an applicable error).

func (FutureImportPrivKeyResult) Receive

func (r FutureImportPrivKeyResult) Receive() error

Receive waits for the response promised by the future and returns the result of importing the passed private key which must be the wallet import format (WIF).

type FutureImportPubKeyResult

type FutureImportPubKeyResult chan *response

FutureImportPubKeyResult is a future promise to deliver the result of an ImportPubKeyAsync RPC invocation (or an applicable error).

func (FutureImportPubKeyResult) Receive

func (r FutureImportPubKeyResult) Receive() error

Receive waits for the response promised by the future and returns the result of importing the passed public key.

type FutureInvalidateBlockResult

type FutureInvalidateBlockResult chan *response

FutureInvalidateBlockResult is a future promise to deliver the result of a InvalidateBlockAsync RPC invocation (or an applicable error).

func (FutureInvalidateBlockResult) Receive

func (r FutureInvalidateBlockResult) Receive() error

Receive waits for the response promised by the future and returns the raw block requested from the server given its hash.

type FutureKeyPoolRefillResult

type FutureKeyPoolRefillResult chan *response

FutureKeyPoolRefillResult is a future promise to deliver the result of a KeyPoolRefillAsync RPC invocation (or an applicable error).

func (FutureKeyPoolRefillResult) Receive

func (r FutureKeyPoolRefillResult) Receive() error

Receive waits for the response promised by the future and returns the result of refilling the key pool.

type FutureListAccountsResult

type FutureListAccountsResult chan *response

FutureListAccountsResult is a future promise to deliver the result of a ListAccountsAsync or ListAccountsMinConfAsync RPC invocation (or an applicable error).

func (FutureListAccountsResult) Receive

func (r FutureListAccountsResult) Receive() (map[string]btcutil.Amount, error)

Receive waits for the response promised by the future and returns returns a map of account names and their associated balances.

type FutureListLockUnspentResult

type FutureListLockUnspentResult chan *response

FutureListLockUnspentResult is a future promise to deliver the result of a ListLockUnspentAsync RPC invocation (or an applicable error).

func (FutureListLockUnspentResult) Receive

func (r FutureListLockUnspentResult) Receive() ([]*wire.OutPoint, error)

Receive waits for the response promised by the future and returns the result of all currently locked unspent outputs.

type FutureListReceivedByAccountResult

type FutureListReceivedByAccountResult chan *response

FutureListReceivedByAccountResult is a future promise to deliver the result of a ListReceivedByAccountAsync, ListReceivedByAccountMinConfAsync, or ListReceivedByAccountIncludeEmptyAsync RPC invocation (or an applicable error).

func (FutureListReceivedByAccountResult) Receive

Receive waits for the response promised by the future and returns a list of balances by account.

type FutureListReceivedByAddressResult

type FutureListReceivedByAddressResult chan *response

FutureListReceivedByAddressResult is a future promise to deliver the result of a ListReceivedByAddressAsync, ListReceivedByAddressMinConfAsync, or ListReceivedByAddressIncludeEmptyAsync RPC invocation (or an applicable error).

func (FutureListReceivedByAddressResult) Receive

Receive waits for the response promised by the future and returns a list of balances by address.

type FutureListSinceBlockResult

type FutureListSinceBlockResult chan *response

FutureListSinceBlockResult is a future promise to deliver the result of a ListSinceBlockAsync or ListSinceBlockMinConfAsync RPC invocation (or an applicable error).

func (FutureListSinceBlockResult) Receive

Receive waits for the response promised by the future and returns all transactions added in blocks since the specified block hash, or all transactions if it is nil.

type FutureListTransactionsResult

type FutureListTransactionsResult chan *response

FutureListTransactionsResult is a future promise to deliver the result of a ListTransactionsAsync, ListTransactionsCountAsync, or ListTransactionsCountFromAsync RPC invocation (or an applicable error).

func (FutureListTransactionsResult) Receive

Receive waits for the response promised by the future and returns a list of the most recent transactions.

type FutureListUnspentResult

type FutureListUnspentResult chan *response

FutureListUnspentResult is a future promise to deliver the result of a ListUnspentAsync, ListUnspentMinAsync, ListUnspentMinMaxAsync, or ListUnspentMinMaxAddressesAsync RPC invocation (or an applicable error).

func (FutureListUnspentResult) Receive

Receive waits for the response promised by the future and returns all unspent wallet transaction outputs returned by the RPC call. If the future wac returned by a call to ListUnspentMinAsync, ListUnspentMinMaxAsync, or ListUnspentMinMaxAddressesAsync, the range may be limited by the parameters of the RPC invocation.

type FutureLockUnspentResult

type FutureLockUnspentResult chan *response

FutureLockUnspentResult is a future promise to deliver the error result of a LockUnspentAsync RPC invocation.

func (FutureLockUnspentResult) Receive

func (r FutureLockUnspentResult) Receive() error

Receive waits for the response promised by the future and returns the result of locking or unlocking the unspent output(s).

type FutureMoveResult

type FutureMoveResult chan *response

FutureMoveResult is a future promise to deliver the result of a MoveAsync, MoveMinConfAsync, or MoveCommentAsync RPC invocation (or an applicable error).

func (FutureMoveResult) Receive

func (r FutureMoveResult) Receive() (bool, error)

Receive waits for the response promised by the future and returns the result of the move operation.

type FuturePingResult

type FuturePingResult chan *response

FuturePingResult is a future promise to deliver the result of a PingAsync RPC invocation (or an applicable error).

func (FuturePingResult) Receive

func (r FuturePingResult) Receive() error

Receive waits for the response promised by the future and returns the result of queueing a ping to be sent to each connected peer.

type FutureRawResult

type FutureRawResult chan *response

FutureRawResult is a future promise to deliver the result of a RawRequest RPC invocation (or an applicable error).

func (FutureRawResult) Receive

func (r FutureRawResult) Receive() (json.RawMessage, error)

Receive waits for the response promised by the future and returns the raw response, or an error if the request was unsuccessful.

type FutureRenameAccountResult

type FutureRenameAccountResult chan *response

FutureRenameAccountResult is a future promise to deliver the result of a RenameAccountAsync RPC invocation (or an applicable error).

func (FutureRenameAccountResult) Receive

func (r FutureRenameAccountResult) Receive() error

Receive waits for the response promised by the future and returns the result of creating new account.

type FutureSearchRawTransactionsResult

type FutureSearchRawTransactionsResult chan *response

FutureSearchRawTransactionsResult is a future promise to deliver the result of the SearchRawTransactionsAsync RPC invocation (or an applicable error).

func (FutureSearchRawTransactionsResult) Receive

Receive waits for the response promised by the future and returns the found raw transactions.

type FutureSearchRawTransactionsVerboseResult

type FutureSearchRawTransactionsVerboseResult chan *response

FutureSearchRawTransactionsVerboseResult is a future promise to deliver the result of the SearchRawTransactionsVerboseAsync RPC invocation (or an applicable error).

func (FutureSearchRawTransactionsVerboseResult) Receive

Receive waits for the response promised by the future and returns the found raw transactions.

type FutureSendFromResult

type FutureSendFromResult chan *response

FutureSendFromResult is a future promise to deliver the result of a SendFromAsync, SendFromMinConfAsync, or SendFromCommentAsync RPC invocation (or an applicable error).

func (FutureSendFromResult) Receive

func (r FutureSendFromResult) Receive() (*chainhash.Hash, error)

Receive waits for the response promised by the future and returns the hash of the transaction sending amount to the given address using the provided account as a source of funds.

type FutureSendManyResult

type FutureSendManyResult chan *response

FutureSendManyResult is a future promise to deliver the result of a SendManyAsync, SendManyMinConfAsync, or SendManyCommentAsync RPC invocation (or an applicable error).

func (FutureSendManyResult) Receive

func (r FutureSendManyResult) Receive() (*chainhash.Hash, error)

Receive waits for the response promised by the future and returns the hash of the transaction sending multiple amounts to multiple addresses using the provided account as a source of funds.

type FutureSendRawTransactionResult

type FutureSendRawTransactionResult chan *response

FutureSendRawTransactionResult is a future promise to deliver the result of a SendRawTransactionAsync RPC invocation (or an applicable error).

func (FutureSendRawTransactionResult) Receive

Receive waits for the response promised by the future and returns the result of submitting the encoded transaction to the server which then relays it to the network.

type FutureSendToAddressResult

type FutureSendToAddressResult chan *response

FutureSendToAddressResult is a future promise to deliver the result of a SendToAddressAsync RPC invocation (or an applicable error).

func (FutureSendToAddressResult) Receive

Receive waits for the response promised by the future and returns the hash of the transaction sending the passed amount to the given address.

type FutureSetAccountResult

type FutureSetAccountResult chan *response

FutureSetAccountResult is a future promise to deliver the result of a SetAccountAsync RPC invocation (or an applicable error).

func (FutureSetAccountResult) Receive

func (r FutureSetAccountResult) Receive() error

Receive waits for the response promised by the future and returns the result of setting the account to be associated with the passed address.

type FutureSetGenerateResult

type FutureSetGenerateResult chan *response

FutureSetGenerateResult is a future promise to deliver the result of a SetGenerateAsync RPC invocation (or an applicable error).

func (FutureSetGenerateResult) Receive

func (r FutureSetGenerateResult) Receive() error

Receive waits for the response promised by the future and returns an error if any occurred when setting the server to generate coins (mine) or not.

type FutureSetTxFeeResult

type FutureSetTxFeeResult chan *response

FutureSetTxFeeResult is a future promise to deliver the result of a SetTxFeeAsync RPC invocation (or an applicable error).

func (FutureSetTxFeeResult) Receive

func (r FutureSetTxFeeResult) Receive() error

Receive waits for the response promised by the future and returns the result of setting an optional transaction fee per KB that helps ensure transactions are processed quickly. Most transaction are 1KB.

type FutureSignMessageResult

type FutureSignMessageResult chan *response

FutureSignMessageResult is a future promise to deliver the result of a SignMessageAsync RPC invocation (or an applicable error).

func (FutureSignMessageResult) Receive

func (r FutureSignMessageResult) Receive() (string, error)

Receive waits for the response promised by the future and returns the message signed with the private key of the specified address.

type FutureSignRawTransactionResult

type FutureSignRawTransactionResult chan *response

FutureSignRawTransactionResult is a future promise to deliver the result of one of the SignRawTransactionAsync family of RPC invocations (or an applicable error).

func (FutureSignRawTransactionResult) Receive

Receive waits for the response promised by the future and returns the signed transaction as well as whether or not all inputs are now signed.

type FutureSubmitBlockResult

type FutureSubmitBlockResult chan *response

FutureSubmitBlockResult is a future promise to deliver the result of a SubmitBlockAsync RPC invocation (or an applicable error).

func (FutureSubmitBlockResult) Receive

func (r FutureSubmitBlockResult) Receive() error

Receive waits for the response promised by the future and returns an error if any occurred when submitting the block.

type FutureValidateAddressResult

type FutureValidateAddressResult chan *response

FutureValidateAddressResult is a future promise to deliver the result of a ValidateAddressAsync RPC invocation (or an applicable error).

func (FutureValidateAddressResult) Receive

Receive waits for the response promised by the future and returns information about the given bitcoin address.

type FutureVerifyChainResult

type FutureVerifyChainResult chan *response

FutureVerifyChainResult is a future promise to deliver the result of a VerifyChainAsync, VerifyChainLevelAsyncRPC, or VerifyChainBlocksAsync invocation (or an applicable error).

func (FutureVerifyChainResult) Receive

func (r FutureVerifyChainResult) Receive() (bool, error)

Receive waits for the response promised by the future and returns whether or not the chain verified based on the check level and number of blocks to verify specified in the original call.

type FutureVerifyMessageResult

type FutureVerifyMessageResult chan *response

FutureVerifyMessageResult is a future promise to deliver the result of a VerifyMessageAsync RPC invocation (or an applicable error).

func (FutureVerifyMessageResult) Receive

func (r FutureVerifyMessageResult) Receive() (bool, error)

Receive waits for the response promised by the future and returns whether or not the message was successfully verified.

type FutureWalletLockResult

type FutureWalletLockResult chan *response

FutureWalletLockResult is a future promise to deliver the result of a WalletLockAsync RPC invocation (or an applicable error).

func (FutureWalletLockResult) Receive

func (r FutureWalletLockResult) Receive() error

Receive waits for the response promised by the future and returns the result of locking the wallet.

type FutureWalletPassphraseChangeResult

type FutureWalletPassphraseChangeResult chan *response

FutureWalletPassphraseChangeResult is a future promise to deliver the result of a WalletPassphraseChangeAsync RPC invocation (or an applicable error).

func (FutureWalletPassphraseChangeResult) Receive

Receive waits for the response promised by the future and returns the result of changing the wallet passphrase.

type SigHashType

type SigHashType string

SigHashType enumerates the available signature hashing types that the SignRawTransaction function accepts.

const (
	// SigHashAll indicates ALL of the outputs should be signed.
	SigHashAll SigHashType = "ALL"

	// SigHashNone indicates NONE of the outputs should be signed.  This
	// can be thought of as specifying the signer does not care where the
	// bitcoins go.
	SigHashNone SigHashType = "NONE"

	// SigHashSingle indicates that a SINGLE output should be signed.  This
	// can be thought of specifying the signer only cares about where ONE of
	// the outputs goes, but not any of the others.
	SigHashSingle SigHashType = "SINGLE"

	// SigHashAllAnyoneCanPay indicates that signer does not care where the
	// other inputs to the transaction come from, so it allows other people
	// to add inputs.  In addition, it uses the SigHashAll signing method
	// for outputs.
	SigHashAllAnyoneCanPay SigHashType = "ALL|ANYONECANPAY"

	// SigHashNoneAnyoneCanPay indicates that signer does not care where the
	// other inputs to the transaction come from, so it allows other people
	// to add inputs.  In addition, it uses the SigHashNone signing method
	// for outputs.
	SigHashNoneAnyoneCanPay SigHashType = "NONE|ANYONECANPAY"

	// SigHashSingleAnyoneCanPay indicates that signer does not care where
	// the other inputs to the transaction come from, so it allows other
	// people to add inputs.  In addition, it uses the SigHashSingle signing
	// method for outputs.
	SigHashSingleAnyoneCanPay SigHashType = "SINGLE|ANYONECANPAY"
)

Constants used to indicate the signature hash type for SignRawTransaction.

func (SigHashType) String

func (s SigHashType) String() string

String returns the SighHashType in human-readable form.

Directories

Path Synopsis
Package btcjson provides primitives for working with the bitcoin JSON-RPC API.
Package btcjson provides primitives for working with the bitcoin JSON-RPC API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL