package
0.0.0-20181122191953-5503508ef045
Repository: https://github.com/bitlum/go-bitcoind-rpc.git
Documentation: pkg.go.dev

# README

btcjson

Build Status ISC License GoDoc

Package btcjson implements concrete types for marshalling to and from the bitcoin JSON-RPC API. A comprehensive suite of tests is provided to ensure proper functionality.

Although this package was primarily written for the btcsuite, it has intentionally been designed so it can be used as a standalone package for any projects needing to marshal to and from bitcoin JSON-RPC requests and responses.

Note that although it's possible to use this package directly to implement an RPC client, it is not recommended since it is only intended as an infrastructure package. Instead, RPC clients should use the btcrpcclient package which provides a full blown RPC client with many features such as automatic connection management, websocket support, automatic notification re-registration on reconnect, and conversion from the raw underlying RPC types (strings, floats, ints, etc) to higher-level types with many nice and useful properties.

Installation and Updating

$ go get -u github.com/btcsuite/btcd/btcjson

Examples

  • Marshal Command
    Demonstrates how to create and marshal a command into a JSON-RPC request.

  • Unmarshal Command
    Demonstrates how to unmarshal a JSON-RPC request and then unmarshal the concrete request into a concrete command.

  • Marshal Response
    Demonstrates how to marshal a JSON-RPC response.

  • Unmarshal Response
    Demonstrates how to unmarshal a JSON-RPC response and then unmarshal the result field in the response to a concrete type.

GPG Verification Key

All official release tags are signed by Conformal so users can ensure the code has not been tampered with and is coming from the btcsuite developers. To verify the signature perform the following:

  • Download the public key from the Conformal website at https://opensource.conformal.com/GIT-GPG-KEY-conformal.txt

  • Import the public key into your GPG keyring:

    gpg --import GIT-GPG-KEY-conformal.txt
    
  • Verify the release tag with the following command where TAG_NAME is a placeholder for the specific tag:

    git tag -v TAG_NAME
    

License

Package btcjson is licensed under the copyfree ISC License.

# Functions

Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.
CmdMethod returns the method for the passed command.
Float64 is a helper routine that allocates a new float64 value to store v and returns a pointer to it.
GenerateHelp generates and returns help output for the provided method and result types given a map to provide the appropriate keys for the method synopsis, field descriptions, conditions, and result descriptions.
Int is a helper routine that allocates a new int value to store v and returns a pointer to it.
Int32 is a helper routine that allocates a new int32 value to store v and returns a pointer to it.
Int64 is a helper routine that allocates a new int64 value to store v and returns a pointer to it.
IsValidIDType checks that the ID field (which can go in any of the JSON-RPC requests, responses, or notifications) is valid.
MarshalCmd marshals the passed command to a JSON-RPC request byte slice that is suitable for transmission to an RPC server.
MarshalResponse marshals the passed id, result, and RPCError to a JSON-RPC response byte slice that is suitable for transmission to a JSON-RPC client.
MethodUsageFlags returns the usage flags for the passed command method.
MethodUsageText returns a one-line usage string for the provided method.
MustRegisterCmd performs the same function as RegisterCmd except it panics if there is an error.
NewAccountBalanceNtfn returns a new instance which can be used to issue an accountbalance JSON-RPC notification.
NewAddMultisigAddressCmd returns a new instance which can be used to issue a addmultisigaddress JSON-RPC command.
NewAddNodeCmd returns a new instance which can be used to issue an addnode JSON-RPC command.
NewAddWitnessAddressCmd returns a new instance which can be used to issue a addwitnessaddress JSON-RPC command.
NewAuthenticateCmd returns a new instance which can be used to issue an authenticate JSON-RPC command.
NewBlockConnectedNtfn returns a new instance which can be used to issue a blockconnected JSON-RPC notification.
NewBlockDisconnectedNtfn returns a new instance which can be used to issue a blockdisconnected JSON-RPC notification.
NewBtcdConnectedNtfn returns a new instance which can be used to issue a btcdconnected JSON-RPC notification.
NewCmd provides a generic mechanism to create a new command that can marshal to a JSON-RPC request while respecting the requirements of the provided method.
NewCreateEncryptedWalletCmd returns a new instance which can be used to issue a createencryptedwallet JSON-RPC command.
NewCreateMultisigCmd returns a new instance which can be used to issue a createmultisig JSON-RPC command.
NewCreateNewAccountCmd returns a new instance which can be used to issue a createnewaccount JSON-RPC command.
NewCreateRawTransactionCmd returns a new instance which can be used to issue a createrawtransaction JSON-RPC command.
NewDebugLevelCmd returns a new DebugLevelCmd which can be used to issue a debuglevel JSON-RPC command.
NewDecodeRawTransactionCmd returns a new instance which can be used to issue a decoderawtransaction JSON-RPC command.
NewDecodeScriptCmd returns a new instance which can be used to issue a decodescript JSON-RPC command.
NewDumpPrivKeyCmd returns a new instance which can be used to issue a dumpprivkey JSON-RPC command.
NewDumpWalletCmd returns a new instance which can be used to issue a dumpwallet JSON-RPC command.
NewEncryptWalletCmd returns a new instance which can be used to issue a encryptwallet JSON-RPC command.
NewEstimateFeeCmd returns a new instance which can be used to issue a estimatefee JSON-RPC command.
NewEstimatePriorityCmd returns a new instance which can be used to issue a estimatepriority JSON-RPC command.
NewEstimateSmartFeeCmd returns a new instance which can be used to issue a estimatesmartfee JSON-RPC command.
NewExportWatchingWalletCmd returns a new instance which can be used to issue a exportwatchingwallet JSON-RPC command.
NewFilteredBlockConnectedNtfn returns a new instance which can be used to issue a filteredblockconnected JSON-RPC notification.
NewFilteredBlockDisconnectedNtfn returns a new instance which can be used to issue a filteredblockdisconnected JSON-RPC notification.
NewGenerateCmd returns a new instance which can be used to issue a generate JSON-RPC command.
NewGetAccountAddressCmd returns a new instance which can be used to issue a getaccountaddress JSON-RPC command.
NewGetAccountCmd returns a new instance which can be used to issue a getaccount JSON-RPC command.
NewGetAddedNodeInfoCmd returns a new instance which can be used to issue a getaddednodeinfo JSON-RPC command.
NewGetAddressesByAccountCmd returns a new instance which can be used to issue a getaddressesbyaccount JSON-RPC command.
NewGetBalanceCmd returns a new instance which can be used to issue a getbalance JSON-RPC command.
NewGetBestBlockCmd returns a new instance which can be used to issue a getbestblock JSON-RPC command.
NewGetBestBlockHashCmd returns a new instance which can be used to issue a getbestblockhash JSON-RPC command.
NewGetBlockChainInfoCmd returns a new instance which can be used to issue a getblockchaininfo JSON-RPC command.
NewGetBlockCmd returns a new instance which can be used to issue a getblock JSON-RPC command.
NewGetBlockCountCmd returns a new instance which can be used to issue a getblockcount JSON-RPC command.
NewGetBlockHashCmd returns a new instance which can be used to issue a getblockhash JSON-RPC command.
NewGetBlockHeaderCmd returns a new instance which can be used to issue a getblockheader JSON-RPC command.
NewGetBlockTemplateCmd returns a new instance which can be used to issue a getblocktemplate JSON-RPC command.
NewGetChainTipsCmd returns a new instance which can be used to issue a getchaintips JSON-RPC command.
NewGetConnectionCountCmd returns a new instance which can be used to issue a getconnectioncount JSON-RPC command.
NewGetCurrentNetCmd returns a new instance which can be used to issue a getcurrentnet JSON-RPC command.
NewGetDifficultyCmd returns a new instance which can be used to issue a getdifficulty JSON-RPC command.
NewGetGenerateCmd returns a new instance which can be used to issue a getgenerate JSON-RPC command.
NewGetHashesPerSecCmd returns a new instance which can be used to issue a gethashespersec JSON-RPC command.
NewGetHeadersCmd returns a new instance which can be used to issue a getheaders JSON-RPC command.
NewGetInfoCmd returns a new instance which can be used to issue a getinfo JSON-RPC command.
NewGetMempoolEntryCmd returns a new instance which can be used to issue a getmempoolentry JSON-RPC command.
NewGetMempoolInfoCmd returns a new instance which can be used to issue a getmempool JSON-RPC command.
NewGetMiningInfoCmd returns a new instance which can be used to issue a getmininginfo JSON-RPC command.
NewGetNetTotalsCmd returns a new instance which can be used to issue a getnettotals JSON-RPC command.
NewGetNetworkHashPSCmd returns a new instance which can be used to issue a getnetworkhashps JSON-RPC command.
NewGetNetworkInfoCmd returns a new instance which can be used to issue a getnetworkinfo JSON-RPC command.
NewGetNewAddressCmd returns a new instance which can be used to issue a getnewaddress JSON-RPC command.
NewGetPeerInfoCmd returns a new instance which can be used to issue a getpeer JSON-RPC command.
NewGetRawChangeAddressCmd returns a new instance which can be used to issue a getrawchangeaddress JSON-RPC command.
NewGetRawMempoolCmd returns a new instance which can be used to issue a getrawmempool JSON-RPC command.
NewGetRawTransactionCmd returns a new instance which can be used to issue a getrawtransaction JSON-RPC command.
NewGetReceivedByAccountCmd returns a new instance which can be used to issue a getreceivedbyaccount JSON-RPC command.
NewGetReceivedByAddressCmd returns a new instance which can be used to issue a getreceivedbyaddress JSON-RPC command.
NewGetTransactionCmd returns a new instance which can be used to issue a gettransaction JSON-RPC command.
NewGetTxOutCmd returns a new instance which can be used to issue a gettxout JSON-RPC command.
NewGetTxOutProofCmd returns a new instance which can be used to issue a gettxoutproof JSON-RPC command.
NewGetTxOutSetInfoCmd returns a new instance which can be used to issue a gettxoutsetinfo JSON-RPC command.
NewGetUnconfirmedBalanceCmd returns a new instance which can be used to issue a getunconfirmedbalance JSON-RPC command.
NewGetWalletInfoCmd returns a new instance which can be used to issue a getwalletinfo JSON-RPC command.
NewGetWorkCmd returns a new instance which can be used to issue a getwork JSON-RPC command.
NewHelpCmd returns a new instance which can be used to issue a help JSON-RPC command.
NewImportAddressCmd returns a new instance which can be used to issue an importaddress JSON-RPC command.
NewImportPrivKeyCmd returns a new instance which can be used to issue a importprivkey JSON-RPC command.
NewImportPubKeyCmd returns a new instance which can be used to issue an importpubkey JSON-RPC command.
NewImportWalletCmd returns a new instance which can be used to issue a importwallet JSON-RPC command.
NewInvalidateBlockCmd returns a new instance which can be used to issue a invalidateblock JSON-RPC command.
NewKeyPoolRefillCmd returns a new instance which can be used to issue a keypoolrefill JSON-RPC command.
NewListAccountsCmd returns a new instance which can be used to issue a listaccounts JSON-RPC command.
NewListAddressGroupingsCmd returns a new instance which can be used to issue a listaddressgroupoings JSON-RPC command.
NewListAddressTransactionsCmd returns a new instance which can be used to issue a listaddresstransactions JSON-RPC command.
NewListAllTransactionsCmd returns a new instance which can be used to issue a listalltransactions JSON-RPC command.
NewListLockUnspentCmd returns a new instance which can be used to issue a listlockunspent JSON-RPC command.
NewListReceivedByAccountCmd returns a new instance which can be used to issue a listreceivedbyaccount JSON-RPC command.
NewListReceivedByAddressCmd returns a new instance which can be used to issue a listreceivedbyaddress JSON-RPC command.
NewListSinceBlockCmd returns a new instance which can be used to issue a listsinceblock JSON-RPC command.
NewListTransactionsCmd returns a new instance which can be used to issue a listtransactions JSON-RPC command.
NewListUnspentCmd returns a new instance which can be used to issue a listunspent JSON-RPC command.
NewLoadTxFilterCmd returns a new instance which can be used to issue a loadtxfilter JSON-RPC command.
NewLockUnspentCmd returns a new instance which can be used to issue a lockunspent JSON-RPC command.
NewMoveCmd returns a new instance which can be used to issue a move JSON-RPC command.
NewNewTxNtfn returns a new instance which can be used to issue a newtx JSON-RPC notification.
NewNodeCmd returns a new instance which can be used to issue a `node` JSON-RPC command.
NewNotifyBlocksCmd returns a new instance which can be used to issue a notifyblocks JSON-RPC command.
NewNotifyNewTransactionsCmd returns a new instance which can be used to issue a notifynewtransactions JSON-RPC command.
NewNotifyReceivedCmd returns a new instance which can be used to issue a notifyreceived JSON-RPC command.
NewNotifySpentCmd returns a new instance which can be used to issue a notifyspent JSON-RPC command.
NewPingCmd returns a new instance which can be used to issue a ping JSON-RPC command.
NewPreciousBlockCmd returns a new instance which can be used to issue a preciousblock JSON-RPC command.
NewReconsiderBlockCmd returns a new instance which can be used to issue a reconsiderblock JSON-RPC command.
NewRecoverAddressesCmd returns a new instance which can be used to issue a recoveraddresses JSON-RPC command.
NewRecvTxNtfn returns a new instance which can be used to issue a recvtx JSON-RPC notification.
NewRedeemingTxNtfn returns a new instance which can be used to issue a redeemingtx JSON-RPC notification.
NewRelevantTxAcceptedNtfn returns a new instance which can be used to issue a relevantxaccepted JSON-RPC notification.
NewRenameAccountCmd returns a new instance which can be used to issue a renameaccount JSON-RPC command.
NewRequest returns a new JSON-RPC 1.0 request object given the provided id, method, and parameters.
NewRescanBlocksCmd returns a new instance which can be used to issue a rescan JSON-RPC command.
NewRescanCmd returns a new instance which can be used to issue a rescan JSON-RPC command.
NewRescanFinishedNtfn returns a new instance which can be used to issue a rescanfinished JSON-RPC notification.
NewRescanProgressNtfn returns a new instance which can be used to issue a rescanprogress JSON-RPC notification.
NewResponse returns a new JSON-RPC response object given the provided id, marshalled result, and RPC error.
NewRPCError constructs and returns a new JSON-RPC error that is suitable for use in a JSON-RPC Response object.
NewSearchRawTransactionsCmd returns a new instance which can be used to issue a sendrawtransaction JSON-RPC command.
NewSendFromCmd returns a new instance which can be used to issue a sendfrom JSON-RPC command.
NewSendManyCmd returns a new instance which can be used to issue a sendmany JSON-RPC command.
NewSendRawTransactionCmd returns a new instance which can be used to issue a sendrawtransaction JSON-RPC command.
NewSendToAddressCmd returns a new instance which can be used to issue a sendtoaddress JSON-RPC command.
NewSessionCmd returns a new instance which can be used to issue a session JSON-RPC command.
NewSetAccountCmd returns a new instance which can be used to issue a setaccount JSON-RPC command.
NewSetGenerateCmd returns a new instance which can be used to issue a setgenerate JSON-RPC command.
NewSetTxFeeCmd returns a new instance which can be used to issue a settxfee JSON-RPC command.
NewSignMessageCmd returns a new instance which can be used to issue a signmessage JSON-RPC command.
NewSignRawTransactionCmd returns a new instance which can be used to issue a signrawtransaction JSON-RPC command.
NewStopCmd returns a new instance which can be used to issue a stop JSON-RPC command.
NewStopNotifyBlocksCmd returns a new instance which can be used to issue a stopnotifyblocks JSON-RPC command.
NewStopNotifyNewTransactionsCmd returns a new instance which can be used to issue a stopnotifynewtransactions JSON-RPC command.
NewStopNotifyReceivedCmd returns a new instance which can be used to issue a stopnotifyreceived JSON-RPC command.
NewStopNotifySpentCmd returns a new instance which can be used to issue a stopnotifyspent JSON-RPC command.
NewSubmitBlockCmd returns a new instance which can be used to issue a submitblock JSON-RPC command.
NewTxAcceptedNtfn returns a new instance which can be used to issue a txaccepted JSON-RPC notification.
NewTxAcceptedVerboseNtfn returns a new instance which can be used to issue a txacceptedverbose JSON-RPC notification.
NewUptimeCmd returns a new instance which can be used to issue an uptime JSON-RPC command.
NewValidateAddressCmd returns a new instance which can be used to issue a validateaddress JSON-RPC command.
NewVerifyChainCmd returns a new instance which can be used to issue a verifychain JSON-RPC command.
NewVerifyMessageCmd returns a new instance which can be used to issue a verifymessage JSON-RPC command.
NewVerifyTxOutProofCmd returns a new instance which can be used to issue a verifytxoutproof JSON-RPC command.
NewVersionCmd returns a new instance which can be used to issue a JSON-RPC version command.
NewWalletIsLockedCmd returns a new instance which can be used to issue a walletislocked JSON-RPC command.
NewWalletLockCmd returns a new instance which can be used to issue a walletlock JSON-RPC command.
NewWalletLockStateNtfn returns a new instance which can be used to issue a walletlockstate JSON-RPC notification.
NewWalletPassphraseChangeCmd returns a new instance which can be used to issue a walletpassphrasechange JSON-RPC command.
NewWalletPassphraseCmd returns a new instance which can be used to issue a walletpassphrase JSON-RPC command.
RegisterCmd registers a new command that will automatically marshal to and from JSON-RPC with full type checking and positional parameter support.
RegisteredCmdMethods returns a sorted list of methods for all registered commands.
String is a helper routine that allocates a new string value to store v and returns a pointer to it.
Uint is a helper routine that allocates a new uint value to store v and returns a pointer to it.
Uint32 is a helper routine that allocates a new uint32 value to store v and returns a pointer to it.
Uint64 is a helper routine that allocates a new uint64 value to store v and returns a pointer to it.
UnmarshalCmd unmarshals a JSON-RPC request into a suitable concrete command so long as the method type contained within the marshalled request is registered.

# Constants

AccountBalanceNtfnMethod is the method used for account balance notifications.
ANAdd indicates the specified host should be added as a persistent peer.
ANOneTry indicates the specified host should try to connect once, but it should not be made persistent.
ANRemove indicates the specified peer should be removed.
BlockConnectedNtfnMethod is the legacy, deprecated method used for notifications from the chain server that a block has been connected.
BlockDisconnectedNtfnMethod is the legacy, deprecated method used for notifications from the chain server that a block has been disconnected.
BtcdConnectedNtfnMethod is the method used for notifications when a wallet server is connected to a chain server.
ConservativeEstimateMode identifies the CONSERVATIVE estimation strategy used by estimatesmartfee.
EconomicalEstimateMode identifies the ECONOMICAL estimation strategy used by estimatesmartfee.
ErrDuplicateMethod indicates a command with the specified method already exists.
ErrEmbeddedType indicates the provided command struct contains an embedded type which is not not supported.
ErrInvalidType indicates a type was passed that is not the required type.
ErrInvalidUsageFlags indicates one or more unrecognized flag bits were specified.
ErrMismatchedDefault indicates a 'jsonrpcdefault' struct tag contains a value that doesn't match the type of the field.
ErrMissingDescription indicates a description required to generate help is missing.
ErrNonOptionalDefault indicates a 'jsonrpcdefault' struct tag was specified for a non-optional field.
ErrNonOptionalField indicates a non-optional field was specified after an optional field.
ErrNumParams inidcates the number of params supplied do not match the requirements of the associated command.
Specific Errors related to commands.
Specific Errors related to commands.
Specific Errors related to commands.
Peer-to-peer client errors.
Peer-to-peer client errors.
Peer-to-peer client errors.
General application defined JSON errors.
Specific Errors related to commands.
General application defined JSON errors.
Specific Errors related to commands.
General application defined JSON errors.
General application defined JSON errors.
General application defined JSON errors.
Specific Errors related to commands.
General application defined JSON errors.
Specific Errors related to commands.
Specific Errors related to commands.
Errors that are specific to btcd.
General application defined JSON errors.
Specific Errors related to commands.
Specific Errors related to commands.
General application defined JSON errors.
Errors that are specific to btcd.
General application defined JSON errors.
Wallet JSON errors.
Wallet JSON errors.
Wallet JSON errors.
Wallet JSON errors.
Wallet JSON errors.
Wallet JSON errors.
Wallet JSON errors.
Wallet JSON errors.
Wallet JSON errors.
ErrUnexportedField indiciates the provided command struct contains an unexported field which is not supported.
ErrUnregisteredMethod indicates a method was specified that has not been registered.
ErrUnsupportedFieldType indicates the type of a field in the provided command struct is not one of the supported types.
FilteredBlockConnectedNtfnMethod is the new method used for notifications from the chain server that a block has been connected.
FilteredBlockDisconnectedNtfnMethod is the new method used for notifications from the chain server that a block has been disconnected.
NConnect indicates the specified host that should be connected to.
NDisconnect indicates the specified peer should be disonnected.
NewTxNtfnMethod is the method used to notify that a wallet server has added a new transaction to the transaciton store.
NRemove indicates the specified peer that should be removed as a persistent peer.
RecvTxNtfnMethod is the legacy, deprecated method used for notifications from the chain server that a transaction which pays to a registered address has been processed.
RedeemingTxNtfnMethod is the legacy, deprecated method used for notifications from the chain server that a transaction which spends a registered outpoint has been processed.
RelevantTxAcceptedNtfnMethod is the new method used for notifications from the chain server that inform a client that a transaction that matches the loaded filter was accepted by the mempool.
RescanFinishedNtfnMethod is the legacy, deprecated method used for notifications from the chain server that a legacy, deprecated rescan operation has finished.
RescanProgressNtfnMethod is the legacy, deprecated method used for notifications from the chain server that a legacy, deprecated rescan operation this is underway has made progress.
TxAcceptedNtfnMethod is the method used for notifications from the chain server that a transaction has been accepted into the mempool.
TxAcceptedVerboseNtfnMethod is the method used for notifications from the chain server that a transaction has been accepted into the mempool.
UFNotification indicates that the command is actually a notification.
UFWalletOnly indicates that the command can only be used with an RPC server that supports wallet commands.
UFWebsocketOnly indicates that the command can only be used when communicating with an RPC server over websockets.
UnsetEstimateMode identifies the UNSET estimation strategy used by estimatesmartfee.
WalletLockStateNtfnMethod is the method used to notify the lock state of a wallet has changed.

# Variables

Standard JSON-RPC 2.0 errors.
Standard JSON-RPC 2.0 errors.
Standard JSON-RPC 2.0 errors.
Standard JSON-RPC 2.0 errors.
Standard JSON-RPC 2.0 errors.

# Structs

AccountBalanceNtfn defines the accountbalance JSON-RPC notification.
AddMultisigAddressCmd defines the addmutisigaddress JSON-RPC command.
AddNodeCmd defines the addnode JSON-RPC command.
AddWitnessAddressCmd defines the addwitnessaddress JSON-RPC command.
AuthenticateCmd defines the authenticate JSON-RPC command.
Bip9SoftForkDescription describes the current state of a defined BIP0009 version bits soft-fork.
BlockConnectedNtfn defines the blockconnected JSON-RPC notification.
BlockDetails describes details of a tx in a block.
BlockDisconnectedNtfn defines the blockdisconnected JSON-RPC notification.
BtcdConnectedNtfn defines the btcdconnected JSON-RPC notification.
CreateEncryptedWalletCmd defines the createencryptedwallet JSON-RPC command.
CreateMultisigCmd defines the createmultisig JSON-RPC command.
CreateMultiSigResult models the data returned from the createmultisig command.
CreateNewAccountCmd defines the createnewaccount JSON-RPC command.
CreateRawTransactionCmd defines the createrawtransaction JSON-RPC command.
DebugLevelCmd defines the debuglevel JSON-RPC command.
DecodeRawTransactionCmd defines the decoderawtransaction JSON-RPC command.
DecodeScriptCmd defines the decodescript JSON-RPC command.
DecodeScriptResult models the data returned from the decodescript command.
DumpPrivKeyCmd defines the dumpprivkey JSON-RPC command.
DumpWalletCmd defines the dumpwallet JSON-RPC command.
EncryptWalletCmd defines the encryptwallet JSON-RPC command.
Error identifies a general error.
EstimateFeeCmd defines the estimatefee JSON-RPC command.
EstimatePriorityCmd defines the estimatepriority JSON-RPC command.
EstimateSmartFeeCmd defines the estimatesmartfee JSON-RPC command.
EstimateSmartFeeResult models the data returned from the estimatesmartfee command.
ExportWatchingWalletCmd defines the exportwatchingwallet JSON-RPC command.
FilteredBlockConnectedNtfn defines the filteredblockconnected JSON-RPC notification.
FilteredBlockDisconnectedNtfn defines the filteredblockdisconnected JSON-RPC notification.
GenerateCmd defines the generate JSON-RPC command.
GetAccountAddressCmd defines the getaccountaddress JSON-RPC command.
GetAccountCmd defines the getaccount JSON-RPC command.
GetAddedNodeInfoCmd defines the getaddednodeinfo JSON-RPC command.
GetAddedNodeInfoResult models the data from the getaddednodeinfo command.
GetAddedNodeInfoResultAddr models the data of the addresses portion of the getaddednodeinfo command.
GetAddressesByAccountCmd defines the getaddressesbyaccount JSON-RPC command.
GetBalanceCmd defines the getbalance JSON-RPC command.
GetBestBlockCmd defines the getbestblock JSON-RPC command.
GetBestBlockHashCmd defines the getbestblockhash JSON-RPC command.
GetBestBlockResult models the data from the getbestblock command.
GetBlockChainInfoCmd defines the getblockchaininfo JSON-RPC command.
GetBlockChainInfoResult models the data returned from the getblockchaininfo command.
GetBlockCmd defines the getblock JSON-RPC command.
GetBlockCountCmd defines the getblockcount JSON-RPC command.
GetBlockHashCmd defines the getblockhash JSON-RPC command.
GetBlockHeaderCmd defines the getblockheader JSON-RPC command.
GetBlockHeaderVerboseResult models the data from the getblockheader command when the verbose flag is set.
GetBlockTemplateCmd defines the getblocktemplate JSON-RPC command.
GetBlockTemplateResult models the data returned from the getblocktemplate command.
GetBlockTemplateResultAux models the coinbaseaux field of the getblocktemplate command.
GetBlockTemplateResultTx models the transactions field of the getblocktemplate command.
GetBlockVerboseResult models the data from the getblock command when the verbose flag is set.
GetChainTipsCmd defines the getchaintips JSON-RPC command.
GetConnectionCountCmd defines the getconnectioncount JSON-RPC command.
GetCurrentNetCmd defines the getcurrentnet JSON-RPC command.
GetDifficultyCmd defines the getdifficulty JSON-RPC command.
GetGenerateCmd defines the getgenerate JSON-RPC command.
GetHashesPerSecCmd defines the gethashespersec JSON-RPC command.
GetHeadersCmd defines the getheaders JSON-RPC command.
GetInfoCmd defines the getinfo JSON-RPC command.
GetMempoolEntryCmd defines the getmempoolentry JSON-RPC command.
GetMempoolEntryResult models the data returned from the getmempoolentry command.
GetMempoolInfoCmd defines the getmempoolinfo JSON-RPC command.
GetMempoolInfoResult models the data returned from the getmempoolinfo command.
GetMiningInfoCmd defines the getmininginfo JSON-RPC command.
GetMiningInfoResult models the data from the getmininginfo command.
GetNetTotalsCmd defines the getnettotals JSON-RPC command.
GetNetTotalsResult models the data returned from the getnettotals command.
GetNetworkHashPSCmd defines the getnetworkhashps JSON-RPC command.
GetNetworkInfoCmd defines the getnetworkinfo JSON-RPC command.
GetNetworkInfoResult models the data returned from the getnetworkinfo command.
GetNewAddressCmd defines the getnewaddress JSON-RPC command.
GetPeerInfoCmd defines the getpeerinfo JSON-RPC command.
GetPeerInfoResult models the data returned from the getpeerinfo command.
GetRawChangeAddressCmd defines the getrawchangeaddress JSON-RPC command.
GetRawMempoolCmd defines the getmempool JSON-RPC command.
GetRawMempoolVerboseResult models the data returned from the getrawmempool command when the verbose flag is set.
GetRawTransactionCmd defines the getrawtransaction JSON-RPC command.
GetReceivedByAccountCmd defines the getreceivedbyaccount JSON-RPC command.
GetReceivedByAddressCmd defines the getreceivedbyaddress JSON-RPC command.
GetTransactionCmd defines the gettransaction JSON-RPC command.
GetTransactionDetailsResult models the details data from the gettransaction command.
GetTransactionResult models the data from the gettransaction command.
GetTxOutCmd defines the gettxout JSON-RPC command.
GetTxOutProofCmd defines the gettxoutproof JSON-RPC command.
GetTxOutResult models the data from the gettxout command.
GetTxOutSetInfoCmd defines the gettxoutsetinfo JSON-RPC command.
GetUnconfirmedBalanceCmd defines the getunconfirmedbalance JSON-RPC command.
GetWalletInfoCmd defines the getwalletinfo JSON-RPC command.
GetWorkCmd defines the getwork JSON-RPC command.
GetWorkResult models the data from the getwork command.
HelpCmd defines the help JSON-RPC command.
ImportAddressCmd defines the importaddress JSON-RPC command.
ImportPrivKeyCmd defines the importprivkey JSON-RPC command.
ImportPubKeyCmd defines the importpubkey JSON-RPC command.
ImportWalletCmd defines the importwallet JSON-RPC command.
InfoChainResult models the data returned by the chain server getinfo command.
InfoWalletResult models the data returned by the wallet server getinfo command.
InvalidateBlockCmd defines the invalidateblock JSON-RPC command.
KeyPoolRefillCmd defines the keypoolrefill JSON-RPC command.
ListAccountsCmd defines the listaccounts JSON-RPC command.
ListAddressGroupingsCmd defines the listaddressgroupings JSON-RPC command.
ListAddressTransactionsCmd defines the listaddresstransactions JSON-RPC command.
ListAllTransactionsCmd defines the listalltransactions JSON-RPC command.
ListLockUnspentCmd defines the listlockunspent JSON-RPC command.
ListReceivedByAccountCmd defines the listreceivedbyaccount JSON-RPC command.
ListReceivedByAccountResult models the data from the listreceivedbyaccount command.
ListReceivedByAddressCmd defines the listreceivedbyaddress JSON-RPC command.
ListReceivedByAddressResult models the data from the listreceivedbyaddress command.
ListSinceBlockCmd defines the listsinceblock JSON-RPC command.
ListSinceBlockResult models the data from the listsinceblock command.
ListTransactionsCmd defines the listtransactions JSON-RPC command.
ListTransactionsResult models the data from the listtransactions command.
ListUnspentCmd defines the listunspent JSON-RPC command.
ListUnspentResult models a successful response from the listunspent request.
LoadTxFilterCmd defines the loadtxfilter request parameters to load or reload a transaction filter.
LocalAddressesResult models the localaddresses data from the getnetworkinfo command.
LockUnspentCmd defines the lockunspent JSON-RPC command.
MoveCmd defines the move JSON-RPC command.
NetworksResult models the networks data from the getnetworkinfo command.
NewTxNtfn defines the newtx JSON-RPC notification.
NodeCmd defines the dropnode JSON-RPC command.
NotifyBlocksCmd defines the notifyblocks JSON-RPC command.
NotifyNewTransactionsCmd defines the notifynewtransactions JSON-RPC command.
NotifyReceivedCmd defines the notifyreceived JSON-RPC command.
NotifySpentCmd defines the notifyspent JSON-RPC command.
OutPoint describes a transaction outpoint that will be marshalled to and from JSON.
PingCmd defines the ping JSON-RPC command.
PreciousBlockCmd defines the preciousblock JSON-RPC command.
PrevOut represents previous output for an input Vin.
RawTxInput models the data needed for raw transaction input that is used in the SignRawTransactionCmd struct.
ReconsiderBlockCmd defines the reconsiderblock JSON-RPC command.
RecoverAddressesCmd defines the recoveraddresses JSON-RPC command.
RecvTxNtfn defines the recvtx JSON-RPC notification.
RedeemingTxNtfn defines the redeemingtx JSON-RPC notification.
RelevantTxAcceptedNtfn defines the parameters to the relevanttxaccepted JSON-RPC notification.
RenameAccountCmd defines the renameaccount JSON-RPC command.
Request is a type for raw JSON-RPC 1.0 requests.
RescanBlocksCmd defines the rescan JSON-RPC command.
RescanCmd defines the rescan JSON-RPC command.
RescanFinishedNtfn defines the rescanfinished JSON-RPC notification.
RescannedBlock contains the hash and all discovered transactions of a single rescanned block.
RescanProgressNtfn defines the rescanprogress JSON-RPC notification.
Response is the general form of a JSON-RPC response.
RPCError represents an error that is used as a part of a JSON-RPC Response object.
ScriptPubKeyResult models the scriptPubKey data of a tx script.
ScriptSig models a signature script.
SearchRawTransactionsCmd defines the searchrawtransactions JSON-RPC command.
SearchRawTransactionsResult models the data from the searchrawtransaction command.
SendFromCmd defines the sendfrom JSON-RPC command.
SendManyCmd defines the sendmany JSON-RPC command.
SendRawTransactionCmd defines the sendrawtransaction JSON-RPC command.
SendToAddressCmd defines the sendtoaddress JSON-RPC command.
SessionCmd defines the session JSON-RPC command.
SessionResult models the data from the session command.
SetAccountCmd defines the setaccount JSON-RPC command.
SetGenerateCmd defines the setgenerate JSON-RPC command.
SetTxFeeCmd defines the settxfee JSON-RPC command.
SignMessageCmd defines the signmessage JSON-RPC command.
SignRawTransactionCmd defines the signrawtransaction JSON-RPC command.
SignRawTransactionError models the data that contains script verification errors from the signrawtransaction request.
SignRawTransactionResult models the data from the signrawtransaction command.
SoftForkDescription describes the current state of a soft-fork which was deployed using a super-majority block signalling.
StopCmd defines the stop JSON-RPC command.
StopNotifyBlocksCmd defines the stopnotifyblocks JSON-RPC command.
StopNotifyNewTransactionsCmd defines the stopnotifynewtransactions JSON-RPC command.
StopNotifyReceivedCmd defines the stopnotifyreceived JSON-RPC command.
StopNotifySpentCmd defines the stopnotifyspent JSON-RPC command.
SubmitBlockCmd defines the submitblock JSON-RPC command.
SubmitBlockOptions represents the optional options struct provided with a SubmitBlockCmd command.
TemplateRequest is a request object as defined in BIP22 (https://en.bitcoin.it/wiki/BIP_0022), it is optionally provided as an pointer argument to GetBlockTemplateCmd.
TransactionInput represents the inputs to a transaction.
TxAcceptedNtfn defines the txaccepted JSON-RPC notification.
TxAcceptedVerboseNtfn defines the txacceptedverbose JSON-RPC notification.
TxRawDecodeResult models the data from the decoderawtransaction command.
TxRawResult models the data from the getrawtransaction command.
UptimeCmd defines the uptime JSON-RPC command.
ValidateAddressChainResult models the data returned by the chain server validateaddress command.
ValidateAddressCmd defines the validateaddress JSON-RPC command.
ValidateAddressWalletResult models the data returned by the wallet server validateaddress command.
VerifyChainCmd defines the verifychain JSON-RPC command.
VerifyMessageCmd defines the verifymessage JSON-RPC command.
VerifyTxOutProofCmd defines the verifytxoutproof JSON-RPC command.
VersionCmd defines the version JSON-RPC command.
VersionResult models objects included in the version response.
Vin models parts of the tx data.
VinPrevOut is like Vin except it includes PrevOut.
Vout models parts of the tx data.
WalletIsLockedCmd defines the walletislocked JSON-RPC command.
WalletLockCmd defines the walletlock JSON-RPC command.
WalletLockStateNtfn defines the walletlockstate JSON-RPC notification.
WalletPassphraseChangeCmd defines the walletpassphrase JSON-RPC command.
WalletPassphraseCmd defines the walletpassphrase JSON-RPC command.

# Type aliases

AddNodeSubCmd defines the type used in the addnode JSON-RPC command for the sub command field.
ErrorCode identifies a kind of error.
EstimateMode encodes the possible estimation modes of estimatesmartfee.
NodeSubCmd defines the type used in the addnode JSON-RPC command for the sub command field.
RPCErrorCode represents an error code to be used as a part of an RPCError which is in turn used in a JSON-RPC Response object.
UsageFlag define flags that specify additional properties about the circumstances under which a command can be used.