Documentation
¶
Overview ¶
Package Bitcoind is client librari for bitcoind JSON RPC API
Index ¶
- Constants
- type Bitcoind
- func (b *Bitcoind) BackupWallet(destination string) error
- func (b *Bitcoind) DumpPrivKey(address string) (privKey string, err error)
- func (b *Bitcoind) EncryptWallet(passphrase string) error
- func (b *Bitcoind) EstimateSmartFee(minconf int) (ret EstimateSmartFeeResult, err error)
- func (b *Bitcoind) EstimateSmartFeeWithMode(minconf int, mode string) (ret EstimateSmartFeeResult, err error)
- func (b *Bitcoind) GetAccount(address string) (account string, err error)
- func (b *Bitcoind) GetAccountAddress(account string) (address string, err error)
- func (b *Bitcoind) GetAddressesByAccount(account string) (addresses []string, err error)
- func (b *Bitcoind) GetBalance(account string, minconf uint64) (balance float64, err error)
- func (b *Bitcoind) GetBestBlockhash() (bestBlockHash string, err error)
- func (b *Bitcoind) GetBlock(blockHash string) (block Block, err error)
- func (b *Bitcoind) GetBlockCount() (count uint64, err error)
- func (b *Bitcoind) GetBlockHash(index uint64) (hash string, err error)
- func (b *Bitcoind) GetBlockTemplate(capabilities []string, mode string) (template string, err error)
- func (b *Bitcoind) GetBlockV2(blockHash string) (block BlockV2, err error)
- func (b *Bitcoind) GetBlockchainInfo() (*BlockChainInfo, error)
- func (b *Bitcoind) GetBlockheader(blockHash string) (*BlockHeader, error)
- func (b *Bitcoind) GetChainTips() (tips []ChainTip, err error)
- func (b *Bitcoind) GetConnectionCount() (count uint64, err error)
- func (b *Bitcoind) GetDifficulty() (difficulty float64, err error)
- func (b *Bitcoind) GetGenerate() (generate bool, err error)
- func (b *Bitcoind) GetHashesPerSec() (hashpersec float64, err error)
- func (b *Bitcoind) GetMemPoolEntry(txid string) (*MemPoolEntry, error)
- func (b *Bitcoind) GetMemPoolInfo() (*MemPoolInfo, error)
- func (b *Bitcoind) GetMiningInfo() (miningInfo MiningInfo, err error)
- func (b *Bitcoind) GetNetworkInfo() (*NetworkInfo, error)
- func (b *Bitcoind) GetNewAddress(account ...string) (addr string, err error)
- func (b *Bitcoind) GetPeerInfo() (peerInfo []Peer, err error)
- func (b *Bitcoind) GetRawBlock(blockHash string) (str string, err error)
- func (b *Bitcoind) GetRawChangeAddress(account ...string) (rawAddress string, err error)
- func (b *Bitcoind) GetRawMemPool(verbose, mempool_sequence bool) (*RawMemPool, error)
- func (b *Bitcoind) GetRawMempool() (txId []string, err error)
- func (b *Bitcoind) GetRawMempoolVerbose() (txs map[string]VerboseTx, err error)
- func (b *Bitcoind) GetRawTransaction(txId string, verbose bool) (rawTx interface{}, err error)
- func (b *Bitcoind) GetReceivedByAccount(account string, minconf uint32) (amount float64, err error)
- func (b *Bitcoind) GetReceivedByAddress(address string, minconf uint32) (amount float64, err error)
- func (b *Bitcoind) GetTransaction(txid string) (transaction Transaction, err error)
- func (b *Bitcoind) GetTxOut(txid string, n uint32, includeMempool bool) (transactionOut UTransactionOut, err error)
- func (b *Bitcoind) GetTxOutsetInfo() (txOutSet TransactionOutSet, err error)
- func (b *Bitcoind) GetUnspendTxOutput(txid string, outIndex int, includeMempool bool) (*UnspendTxOutput, error)
- func (b *Bitcoind) GetWalletInfo() (*WalletInfo, error)
- func (b *Bitcoind) GetWork(data ...string) (response interface{}, err error)
- func (b *Bitcoind) ImportPrivKey(privKey, label string, rescan bool) error
- func (b *Bitcoind) KeyPoolRefill() error
- func (b *Bitcoind) ListAccounts(minconf int32) (accounts map[string]float64, err error)
- func (b *Bitcoind) ListAddressGroupings() (list []ListAddressResult, err error)
- func (b *Bitcoind) ListLockUnspent() (unspendableOutputs []UnspendableOutput, err error)
- func (b *Bitcoind) ListReceivedByAccount(minConf uint32, includeEmpty bool) (list []ReceivedByAccount, err error)
- func (b *Bitcoind) ListReceivedByAddress(minConf uint32, includeEmpty bool) (list []ReceivedByAddress, err error)
- func (b *Bitcoind) ListSinceBlock(blockHash string, targetConfirmations uint32) (transaction []Transaction, err error)
- func (b *Bitcoind) ListTransactions(account string, count, from uint32) (transaction []Transaction, err error)
- func (b *Bitcoind) ListUnspent(minconf, maxconf uint32) (transactions []Transaction, err error)
- func (b *Bitcoind) LockUnspent(lock bool, outputs []UnspendableOutput) (success bool, err error)
- func (b *Bitcoind) Move(formAccount, toAccount string, amount float64, minconf uint32, comment string) (success bool, err error)
- func (b *Bitcoind) SendFrom(fromAccount, toAddress string, amount float64, minconf uint32, ...) (txID string, err error)
- func (b *Bitcoind) SendMany(fromAccount string, amounts map[string]float64, minconf uint32, comment string) (txID string, err error)
- func (b *Bitcoind) SendManyReplaceable(fromAccount string, amounts map[string]float64, minconf uint32, comment string, ...) (txID string, err error)
- func (b *Bitcoind) SendManySubtractFeeFrom(fromAccount string, amounts map[string]float64, minconf uint32, comment string, ...) (txID string, err error)
- func (b *Bitcoind) SendRawTransaction(signedTxHex string, maxfeerate float32) (txid string, err error)
- func (b *Bitcoind) SendToAddress(toAddress string, amount float64, comment, commentTo string) (txID string, err error)
- func (b *Bitcoind) SetAccount(address, account string) error
- func (b *Bitcoind) SetGenerate(generate bool, genProcLimit int32) error
- func (b *Bitcoind) SetTxFee(amount float64) error
- func (b *Bitcoind) SignMessage(address, message string) (sig string, err error)
- func (b *Bitcoind) Stop() error
- func (b *Bitcoind) TestMempoolAccept(signedTxs []string) (result []TransactionTestResult, err error)
- func (b *Bitcoind) ValidateAddress(address string) (va ValidateAddressResponse, err error)
- func (b *Bitcoind) VerifyMessage(address, sign, message string) (success bool, err error)
- func (b *Bitcoind) WalletLock() error
- func (b *Bitcoind) WalletPassphrase(passPhrase string, timeout uint64) error
- func (b *Bitcoind) WalletPassphraseChange(oldPassphrase, newPassprhase string) error
- type Block
- type BlockChainInfo
- type BlockHeader
- type BlockV2
- type ChainTip
- type EstimateSmartFeeResult
- type Info
- type ListAddressResult
- type LocalAddress
- type MemPoolEntry
- type MemPoolInfo
- type MiningInfo
- type Network
- type NetworkInfo
- type Peer
- type RPCError
- type RPCErrorCode
- type RawMemPool
- type RawTransaction
- type ReceivedByAccount
- type ReceivedByAddress
- type Scanning
- type ScriptPubKey
- type ScriptSig
- type Transaction
- type TransactionDetails
- type TransactionOutSet
- type TransactionTestResult
- type UTransactionOut
- type UnspendTxOutput
- type UnspendableOutput
- type ValidateAddressResponse
- type VerboseTx
- type Vin
- type Vout
- type WalletInfo
- type Work
Constants ¶
const ( // VERSION represents bicoind package version VERSION = 0.1 // DEFAULT_RPCCLIENT_TIMEOUT represent http timeout for rcp client RPCCLIENT_TIMEOUT = 30 )
const ( ESTIMATE_MODE_UNSET string = "UNSET" ESTIMATE_MODE_ECONOMICAL string = "ECONOMICAL" ESTIMATE_MODE_CONSERVATIVE string = "CONSERVATIVE" )
estimatesmartfee mode https://bitcoincore.org/en/doc/0.16.0/rpc/util/estimatesmartfee/
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bitcoind ¶
type Bitcoind struct {
// contains filtered or unexported fields
}
A Bitcoind represents a Bitcoind client
func New ¶
func New(host string, port int, user, passwd string, useSSL bool, timeoutParam ...int) (*Bitcoind, error)
New return a new bitcoind
func (*Bitcoind) BackupWallet ¶
BackupWallet Safely copies wallet.dat to destination, which can be a directory or a path with filename on the remote server
func (*Bitcoind) DumpPrivKey ¶
DumpPrivKey return private key as string associated to public <address>
func (*Bitcoind) EncryptWallet ¶
EncryptWallet encrypts the wallet with <passphrase>.
func (*Bitcoind) EstimateSmartFee ¶
func (b *Bitcoind) EstimateSmartFee(minconf int) (ret EstimateSmartFeeResult, err error)
EstimateSmartFee stimates the approximate fee per kilobyte needed for a transaction.. https://bitcoincore.org/en/doc/0.16.0/rpc/util/estimatesmartfee/
func (*Bitcoind) EstimateSmartFeeWithMode ¶
func (b *Bitcoind) EstimateSmartFeeWithMode(minconf int, mode string) (ret EstimateSmartFeeResult, err error)
EstimateSmartFee stimates the approximate fee per kilobyte needed for a transaction.. https://bitcoincore.org/en/doc/0.16.0/rpc/util/estimatesmartfee/
func (*Bitcoind) GetAccount ¶
GetAccount returns the account associated with the given address.
func (*Bitcoind) GetAccountAddress ¶
GetAccountAddress Returns the current bitcoin address for receiving payments to this account. If account does not exist, it will be created along with an associated new address that will be returned.
func (*Bitcoind) GetAddressesByAccount ¶
GetAddressesByAccount return addresses associated with account <account>
func (*Bitcoind) GetBalance ¶
GetBalance return the balance of the server or of a specific account If [account] is "", returns the server's total available balance. If [account] is specified, returns the balance in the account
func (*Bitcoind) GetBestBlockhash ¶
GetBestBlockhash returns the hash of the best (tip) block in the longest block chain.
func (*Bitcoind) GetBlockCount ¶
GetBlockCount returns the number of blocks in the longest block chain.
func (*Bitcoind) GetBlockHash ¶
GetBlockHash returns hash of block in best-block-chain at <index>
func (*Bitcoind) GetBlockTemplate ¶
func (b *Bitcoind) GetBlockTemplate(capabilities []string, mode string) (template string, err error)
TODO a finir GetBlockTemplate Returns data needed to construct a block to work on. See BIP_0022 for more info on params.
func (*Bitcoind) GetBlockV2 ¶
GetBlockV2 returns verbose "2" information about the block with the given hash.
func (*Bitcoind) GetBlockchainInfo ¶
func (b *Bitcoind) GetBlockchainInfo() (*BlockChainInfo, error)
func (*Bitcoind) GetBlockheader ¶
func (b *Bitcoind) GetBlockheader(blockHash string) (*BlockHeader, error)
func (*Bitcoind) GetChainTips ¶
func (*Bitcoind) GetConnectionCount ¶
GetConnectionCount returns the number of connections to other nodes.
func (*Bitcoind) GetDifficulty ¶
GetDifficulty returns the proof-of-work difficulty as a multiple of the minimum difficulty.
func (*Bitcoind) GetGenerate ¶
GetGenerate returns true or false whether bitcoind is currently generating hashes
func (*Bitcoind) GetHashesPerSec ¶
GetHashesPerSec returns a recent hashes per second performance measurement while generating.
func (*Bitcoind) GetMemPoolEntry ¶
func (b *Bitcoind) GetMemPoolEntry(txid string) (*MemPoolEntry, error)
GetRawMemPool returns an object containing RawMemPool
func (*Bitcoind) GetMemPoolInfo ¶
func (b *Bitcoind) GetMemPoolInfo() (*MemPoolInfo, error)
GetMemPoolInfo returns an object containing mem pool info
func (*Bitcoind) GetMiningInfo ¶
func (b *Bitcoind) GetMiningInfo() (miningInfo MiningInfo, err error)
GetMiningInfo returns an object containing mining-related information
func (*Bitcoind) GetNetworkInfo ¶
func (b *Bitcoind) GetNetworkInfo() (*NetworkInfo, error)
func (*Bitcoind) GetNewAddress ¶
GetNewAddress return a new address for account [account].
func (*Bitcoind) GetPeerInfo ¶
GetPeerInfo returns data about each connected node
func (*Bitcoind) GetRawBlock ¶
GetRawBlock returns information about the block with the given hash.
func (*Bitcoind) GetRawChangeAddress ¶
GetRawChangeAddress Returns a new Bitcoin address, for receiving change. This is for use with raw transactions, NOT normal use.
func (*Bitcoind) GetRawMemPool ¶
func (b *Bitcoind) GetRawMemPool(verbose, mempool_sequence bool) (*RawMemPool, error)
GetRawMemPool returns an object containing RawMemPool
func (*Bitcoind) GetRawMempool ¶
GetRawMempool returns all transaction ids in memory pool
func (*Bitcoind) GetRawMempoolVerbose ¶
GetRawMempoolVerbose returns a verbose set of transactions map [TxId] => VerboseTx
func (*Bitcoind) GetRawTransaction ¶
GetRawTransaction returns raw transaction representation for given transaction id.
func (*Bitcoind) GetReceivedByAccount ¶
GetReceivedByAccount Returns the total amount received by addresses with [account] in transactions with at least [minconf] confirmations. If [account] is set to all return will include all transactions to all accounts
func (*Bitcoind) GetReceivedByAddress ¶
Returns the amount received by <address> in transactions with at least [minconf] confirmations. It correctly handles the case where someone has sent to the address in multiple transactions. Keep in mind that addresses are only ever used for receiving transactions. Works only for addresses in the local wallet, external addresses will always show 0.
func (*Bitcoind) GetTransaction ¶
func (b *Bitcoind) GetTransaction(txid string) (transaction Transaction, err error)
GetTransaction returns a Bitcoind.Transation struct about the given transaction
func (*Bitcoind) GetTxOut ¶
func (b *Bitcoind) GetTxOut(txid string, n uint32, includeMempool bool) (transactionOut UTransactionOut, err error)
GetTxOut returns details about an unspent transaction output (UTXO)
func (*Bitcoind) GetTxOutsetInfo ¶
func (b *Bitcoind) GetTxOutsetInfo() (txOutSet TransactionOutSet, err error)
GetTxOutsetInfo returns statistics about the unspent transaction output (UTXO) set
func (*Bitcoind) GetUnspendTxOutput ¶
func (b *Bitcoind) GetUnspendTxOutput(txid string, outIndex int, includeMempool bool) (*UnspendTxOutput, error)
GetRawMemPool returns an object containing RawMemPool
func (*Bitcoind) GetWalletInfo ¶
func (b *Bitcoind) GetWalletInfo() (*WalletInfo, error)
func (*Bitcoind) GetWork ¶
GetWork If [data] is not specified, returns formatted hash data to work on If [data] is specified, tries to solve the block and returns true if it was successful.
func (*Bitcoind) ImportPrivKey ¶
ImportPrivKey Adds a private key (as returned by dumpprivkey) to your wallet. This may take a while, as a rescan is done, looking for existing transactions. Optional [rescan] parameter added in 0.8.0. Note: There's no need to import public key, as in ECDSA (unlike RSA) this can be computed from private key.
func (*Bitcoind) KeyPoolRefill ¶
KeyPoolRefill fills the keypool, requires wallet passphrase to be set.
func (*Bitcoind) ListAccounts ¶
ListAccounts returns Object that has account names as keys, account balances as values.
func (*Bitcoind) ListAddressGroupings ¶
func (b *Bitcoind) ListAddressGroupings() (list []ListAddressResult, err error)
ListAddressGroupings returns all addresses in the wallet and info used for coincontrol.
func (*Bitcoind) ListLockUnspent ¶
func (b *Bitcoind) ListLockUnspent() (unspendableOutputs []UnspendableOutput, err error)
ListLockUnspent returns list of temporarily unspendable outputs
func (*Bitcoind) ListReceivedByAccount ¶
func (b *Bitcoind) ListReceivedByAccount(minConf uint32, includeEmpty bool) (list []ReceivedByAccount, err error)
ListReceivedByAccount Returns an slice of AccountRecieved:
func (*Bitcoind) ListReceivedByAddress ¶
func (b *Bitcoind) ListReceivedByAddress(minConf uint32, includeEmpty bool) (list []ReceivedByAddress, err error)
ListReceivedByAccount Returns an slice of AccountRecieved:
func (*Bitcoind) ListSinceBlock ¶
func (b *Bitcoind) ListSinceBlock(blockHash string, targetConfirmations uint32) (transaction []Transaction, err error)
ListSinceBlock
func (*Bitcoind) ListTransactions ¶
func (b *Bitcoind) ListTransactions(account string, count, from uint32) (transaction []Transaction, err error)
ListTransactions returns up to [count] most recent transactions skipping the first [from] transactions for account [account]. If [account] not provided it'll return recent transactions from all accounts.
func (*Bitcoind) ListUnspent ¶
func (b *Bitcoind) ListUnspent(minconf, maxconf uint32) (transactions []Transaction, err error)
ListUnspent returns array of unspent transaction inputs in the wallet.
func (*Bitcoind) LockUnspent ¶
func (b *Bitcoind) LockUnspent(lock bool, outputs []UnspendableOutput) (success bool, err error)
LockUnspent updates(lock/unlock) list of temporarily unspendable outputs
func (*Bitcoind) Move ¶
func (b *Bitcoind) Move(formAccount, toAccount string, amount float64, minconf uint32, comment string) (success bool, err error)
Move from one account in your wallet to another
func (*Bitcoind) SendFrom ¶
func (b *Bitcoind) SendFrom(fromAccount, toAddress string, amount float64, minconf uint32, comment, commentTo string) (txID string, err error)
SendFrom send amount from fromAccount to toAddress
amount is a real and is rounded to 8 decimal places. Will send the given amount to the given address, ensuring the account has a valid balance using [minconf] confirmations.
func (*Bitcoind) SendMany ¶
func (b *Bitcoind) SendMany(fromAccount string, amounts map[string]float64, minconf uint32, comment string) (txID string, err error)
SenMany send multiple times
func (*Bitcoind) SendManyReplaceable ¶
func (b *Bitcoind) SendManyReplaceable(fromAccount string, amounts map[string]float64, minconf uint32, comment string, feefrom []string, replaceable *bool) (txID string, err error)
SendManyReplacable send multiple times (with fee from) https://bitcoincore.org/en/doc/0.16.0/rpc/wallet/sendmany/
func (*Bitcoind) SendManySubtractFeeFrom ¶
func (b *Bitcoind) SendManySubtractFeeFrom(fromAccount string, amounts map[string]float64, minconf uint32, comment string, feefrom []string) (txID string, err error)
SendManySubtractFeeFrom send multiple times (with fee from) https://bitcoincore.org/en/doc/0.16.0/rpc/wallet/sendmany/
func (*Bitcoind) SendRawTransaction ¶
func (b *Bitcoind) SendRawTransaction(signedTxHex string, maxfeerate float32) (txid string, err error)
SendRawTransaction returns raw transaction representation for given transaction id.
func (*Bitcoind) SendToAddress ¶
func (b *Bitcoind) SendToAddress(toAddress string, amount float64, comment, commentTo string) (txID string, err error)
SendToAddress send an amount to a given address
func (*Bitcoind) SetAccount ¶
SetAccount sets the account associated with the given address
func (*Bitcoind) SetGenerate ¶
SetGenerate turns generation on or off. Generation is limited to [genproclimit] processors, -1 is unlimited.
func (*Bitcoind) SignMessage ¶
SignMessage sign a message with the private key of an address
func (*Bitcoind) TestMempoolAccept ¶
func (b *Bitcoind) TestMempoolAccept(signedTxs []string) (result []TransactionTestResult, err error)
func (*Bitcoind) ValidateAddress ¶
func (b *Bitcoind) ValidateAddress(address string) (va ValidateAddressResponse, err error)
ValidateAddress return information about <bitcoinaddress>.
func (*Bitcoind) VerifyMessage ¶
Verifymessage Verify a signed message.
func (*Bitcoind) WalletLock ¶
WalletLock Removes the wallet encryption key from memory, locking the wallet. After calling this method, you will need to call walletpassphrase again before being able to call any methods which require the wallet to be unlocked.
func (*Bitcoind) WalletPassphrase ¶
walletPassphrase stores the wallet decryption key in memory for <timeout> seconds.
func (*Bitcoind) WalletPassphraseChange ¶
type Block ¶
type Block struct {
// The block hash
Hash string `json:"hash"`
// The number of confirmations
Confirmations uint64 `json:"confirmations"`
// The block size
Size uint64 `json:"size"`
// The block height or index
Height uint64 `json:"height"`
// The block version
Version uint32 `json:"version"`
// The merkle root
Merkleroot string `json:"merkleroot"`
// Slice on transaction ids
Tx []string `json:"tx"`
// The block time in seconds since epoch (Jan 1 1970 GMT)
Time int64 `json:"time"`
// The nonce
Nonce uint64 `json:"nonce"`
// The bits
Bits string `json:"bits"`
// The difficulty
Difficulty float64 `json:"difficulty"`
// Total amount of work in active chain, in hexadecimal
Chainwork string `json:"chainwork,omitempty"`
// The hash of the previous block
Previousblockhash string `json:"previousblockhash"`
// The hash of the next block
Nextblockhash string `json:"nextblockhash"`
}
Represents a block
type BlockChainInfo ¶
type BlockChainInfo struct {
Chain string `json:"chain"`
Blocks uint64 `json:"blocks"`
Headers uint64 `json:"headers"`
BestBlockHash string `json:"bestblockhash"`
Difficulty float64 `json:"difficulty"`
Time uint64 `json:"time"`
Mediantime uint64 `json:"mediantime"`
VerificationProgress float64 `json:"verificationprogress"`
VerificationProgressInt uint64
InitialBlockDownload bool `json:"initialblockdownload"`
Chainwork string `json:"chainwork"`
SizeOnDisk uint64 `json:"size_on_disk"`
Pruned bool `json:"pruned"`
PruneHeight float64 `json:"pruneheight"`
AutomaticPruning bool `json:"automatic_pruning"`
PruneTargetSize float64 `json:"prune_target_size"`
Softforks map[string]interface{} `json:"softforks"`
Warnings string `json:"warnings"`
}
See https://developer.bitcoin.org/reference/rpc/getblockchaininfo.html
type BlockHeader ¶
type BlockHeader struct {
Hash string `json:"hash"`
Confirmations int `json:"confirmations"`
Height int64 `json:"height"`
Version uint32 `json:"version"`
VersionHex string `json:"versionHex"`
Merkleroot string `json:"merkleroot"`
Time int64 `json:"time"`
Mediantime int64 `json:"mediantime"`
Nonce uint32 `json:"nonce"`
Bits string `json:"bits"`
Difficulty float64 `json:"difficulty"`
Chainwork string `json:"chainwork"`
Txes int `json:"nTx"`
Previousblockhash string `json:"previousblockhash"`
Nextblockhash string `json:"nextblockhash"`
}
type BlockV2 ¶
type BlockV2 struct {
Block
Tx []RawTransaction `json:"tx"`
}
Represents a verbose 2 block
type EstimateSmartFeeResult ¶
type EstimateSmartFeeResult struct {
FeeRate float64 `json:"feerate"`
Errors []string `json:"errors"`
Blocks int `json:"blocks"`
}
EstimateSmartFeeResult result for call estimatesmartfee https://bitcoincore.org/en/doc/0.16.0/rpc/util/estimatesmartfee/
type Info ¶
type Info struct {
// The server version
Version uint32 `json:"version"`
// The protocol version
Protocolversion uint32 `json:"protocolversion"`
// The wallet version
Walletversion uint32 `json:"walletversion"`
// The total bitcoin balance of the wallet
Balance float64 `json:"balance"`
// The current number of blocks processed in the server
Blocks uint32 `json:"blocks"`
// The time offset
Timeoffset int32 `json:"timeoffset"`
// The number of connections
Connections uint32 `json:"connections"`
// Tthe proxy used by the server
Proxy string `json:"proxy,omitempty"`
// Tthe current difficulty
Difficulty float64 `json:"difficulty"`
// If the server is using testnet or not
Testnet bool `json:"testnet"`
// The timestamp (seconds since GMT epoch) of the oldest pre-generated key in the key pool
Keypoololdest uint64 `json:"keypoololdest"`
// How many new keys are pre-generated
KeypoolSize uint32 `json:"keypoolsize,omitempty"`
// The timestamp in seconds since epoch (midnight Jan 1 1970 GMT) that the wallet is unlocked for transfers, or 0 if the wallet is locked
UnlockedUntil int64 `json:"unlocked_until,omitempty"`
// the transaction fee set in btc/kb
Paytxfee float64 `json:"paytxfee"`
// Minimum relay fee for non-free transactions in btc/kb
Relayfee float64 `json:"relayfee"`
// Any error messages
Errors string `json:"errors"`
}
An Info represent a response to getmininginfo
type ListAddressResult ¶
ListAddressResult represents a result composing ListAddressGroupings slice reply
type LocalAddress ¶
type MemPoolEntry ¶
type MemPoolEntry struct {
Vsize int64 `json:"vsize"`
Weight int64 `json:"weight"`
Time int64 `json:"time"`
Height int64 `json:"height"`
DescendantCount int64 `json:"descendantcount"`
DescendantSize int64 `json:"descendantsize"`
AncestorCount int64 `json:"ancestorcount"`
AncestorSize int64 `json:"ancestorsize"`
Wtxid string `json:"wtxid"`
Fees struct {
Base float64 `json:"base"`
Modified float64 `json:"modified"`
Ancestor float64 `json:"ancestor"`
Descendant float64 `json:"descendant"`
} `json:"fees"`
Depends []string `json:"depends"`
SpentBy []string `json:"spentby"`
Bip125Replaceable bool `json:"bip125-replaceable"`
Unbroadcast bool `json:"unbroadcast"`
}
type MemPoolInfo ¶
type MemPoolInfo struct {
Loaded bool `json:"loaded"`
Size uint64 `json:"size"`
Bytes uint64 `json:"bytes"`
Usage uint64 `json:"usage"`
TotalFee float64 `json:"total_fee"`
MaxMemPool uint64 `json:"maxmempool"`
MemPoolMinFee float64 `json:"mempoolminfee"`
MinRelayTxFee float64 `json:"minrelaytxfee"`
UnbroadcastCount uint64 `json:"unbroadcastcount"`
}
See https://developer.bitcoin.org/reference/rpc/getmempoolinfo.html
type MiningInfo ¶
type MiningInfo struct {
// The current block
Blocks uint64 `json:"blocks"`
// The last block size
CurrentBlocksize uint64 `json:"currentblocksize"`
// The last block transaction
CurrentBlockTx uint64 `json:"currentblocktx"`
// The current difficulty
Difficulty float64 `json:"difficulty"`
// Current errors
Errors string `json:"errors"`
// The processor limit for generation. -1 if no generation. (see getgenerate or setgenerate calls)
GenProcLimit int32 `json:"genproclimit"`
// The size of the mem pool
PooledtTx uint64 `json:"pooledtx"`
// If using testnet or not
Testnet bool `json:"testnet"`
// If the generation is on or off (see getgenerate or setgenerate calls)
Generate bool `json:"generate"`
// The network hashrate
NetworkHashps uint64 `json:"networkhashps"`
// Node hashrate
HashesPersec uint64 `json:"hashespersec"`
}
A MiningInfo represents a mininginfo response
type NetworkInfo ¶
type NetworkInfo struct {
Version uint64 `json:"version"`
Subversion string `json:"subversion"`
ProtocolVersion uint64 `json:"protocolversion"`
LocalServices string `json:"localservices"`
LocalServicesNames []string `json:"localservicesnames"`
LocalRelay bool `json:"localrelay"`
Timeoffset uint64 `json:"timeoffset"`
Connections uint64 `json:"connections"`
ConnectionsIn uint64 `json:"connections_in"`
ConnectionsOut uint64 `json:"connections_out"`
NetworkActive bool `json:"networkactive"`
Networks []Network `json:"networks"`
RelayFee float64 `json:"relayfee"`
IncrementalFee float64 `json:"incrementalfee"`
LocalAddresses []LocalAddress `json:"localaddresses"`
Warnings string `json:"warnings"`
}
See https://developer.bitcoin.org/reference/rpc/getnetworkinfo.html
type Peer ¶
type Peer struct {
// The ip address and port of the peer
Addr string `json:"addr"`
// Local address
Addrlocal string `json:"addrlocal"`
// The services
Services string `json:"services"`
// The time in seconds since epoch (Jan 1 1970 GMT) of the last send
Lastsend uint64 `json:"lastsend"`
// The time in seconds since epoch (Jan 1 1970 GMT) of the last receive
Lastrecv uint64 `json:"lastrecv"`
// The total bytes sent
Bytessent uint64 `json:"bytessent"`
// The total bytes received
Bytesrecv uint64 `json:"bytesrecv"`
// The connection time in seconds since epoch (Jan 1 1970 GMT)
Conntime uint64 `json:"conntime"`
// Ping time
Pingtime float64 `json:"pingtime"`
// Ping Wait
Pingwait float64 `json:"pingwait"`
// The peer version, such as 7001
Version uint32 `json:"version"`
// The string version
Subver string `json:"subver"`
// Inbound (true) or Outbound (false)
Inbound bool `json:"inbound"`
// The starting height (block) of the peer
Startingheight int32 `json:"startingheight"`
// The ban score (stats.nMisbehavior)
Banscore int32 `json:"banscore"`
// If sync node
Syncnode bool `json:"syncnode"`
}
type RPCError ¶
type RPCError struct {
Code RPCErrorCode `json:"code,omitempty"`
Message string `json:"message,omitempty"`
}
RPCError represents an error that is used as a part of a JSON-RPC Response object.
type RPCErrorCode ¶
type RPCErrorCode int
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.
A specific type is used to help ensure the wrong errors aren't used.
type RawMemPool ¶
type RawTransaction ¶
type RawTransaction struct {
Hex string `json:"hex"`
Txid string `json:"txid"`
Version uint32 `json:"version"`
LockTime uint32 `json:"locktime"`
Vin []Vin `json:"vin"`
Vout []Vout `json:"vout"`
BlockHash string `json:"blockhash,omitempty"`
Confirmations uint64 `json:"confirmations,omitempty"`
Time int64 `json:"time,omitempty"`
Blocktime int64 `json:"blocktime,omitempty"`
}
RawTx represents a raw transaction
type ReceivedByAccount ¶
type ReceivedByAccount struct {
// the account of the receiving addresses
Account string
// total amount received by addresses with this account
Amount float64
// number of confirmations of the most recent transaction included
Confirmations uint32
}
ReceivedByAccount represents how much coin a account have recieved
type ReceivedByAddress ¶
type ReceivedByAddress struct {
// receiving address
Address string
// The corresponding account
Account string
// total amount received by addresses with this account
Amount float64
// number of confirmations of the most recent transaction included
Confirmations uint32
// Tansactions ID
TxIds []string
}
ReceivedByAddress represents how much coin a account have recieved
type ScriptPubKey ¶
type Transaction ¶
type Transaction struct {
Amount float64 `json:"amount"`
Account string `json:"account,omitempty"`
Address string `json:"address,omitempty"`
Category string `json:"category,omitempty"`
Fee float64 `json:"fee,omitempty"`
Confirmations int64 `json:"confirmations"`
BlockHash string `json:"blockhash"`
BlockIndex int64 `json:"blockindex"`
BlockTime int64 `json:"blocktime"`
TxID string `json:"txid"`
WalletConflicts []string `json:"walletconflicts"`
Time int64 `json:"time"`
TimeReceived int64 `json:"timereceived"`
Details []TransactionDetails `json:"details,omitempty"`
Hex string `json:"hex,omitempty"`
}
Transaction represents a transaction
type TransactionDetails ¶
type TransactionDetails struct {
Account string `json:"account"`
Address string `json:"address,omitempty"`
Category string `json:"category"`
Amount float64 `json:"amount"`
Fee float64 `json:"fee,omitempty"`
Label string `json:"label,omitempty"`
}
TransactionDetails represents details about a transaction
type TransactionOutSet ¶
type TransactionOutSet struct {
Height uint32 `json:"height"`
Bestblock string `json:"bestblock"`
Transactions float64 `json:"transactions"`
TxOuts float64 `json:"txouts"`
BytesSerialized float64 `json:"bytes_serialized"`
HashSerialized string `json:"hash_serialized"`
TotalAmount float64 `json:"total_amount"`
}
TransactionOutSet represents statistics about the unspent transaction output database
type TransactionTestResult ¶
type TransactionTestResult struct {
TxId string `json:"txid"`
WTxId string `json:"wtxid"`
Allowed bool `json:"allowed"`
RejectReason string `json:"reject-reason"`
}
"[{\"txid\":\"c1c581014b03354078714cd00743e0f3a73524977cc2c1da5c9bee87615188c1\",\"wtxid\":\"3875746858a497f1a3c2b5ae4a8f10a2d1210442f660972ec46f1564ce5a357f\",\"allowed\":false,\"reject-reason\":\"missing-inputs\"}]"
type UTransactionOut ¶
type UTransactionOut struct {
Bestblock string `json:"bestblock"`
Confirmations uint32 `json:"confirmations"`
Value float64 `json:"value"`
ScriptPubKey ScriptPubKey `json:"scriptPubKey"`
Version uint32 `json:"version"`
Coinbase bool `json:"coinbase"`
}
UTransactionOut represents a unspent transaction out (UTXO)
type UnspendTxOutput ¶
type UnspendTxOutput struct {
BestBlock string `json:"bestblock"`
Confirmations int `json:"confirmations"`
Value float64 `json:"value"`
ScriptPubKey struct {
Asm string `json:"asm"`
Desc string `json:"desc"`
Hex string `json:"hex"`
Address string `json:"address"`
Type string `json:"type"`
} `json:"scriptPubKey"`
Coinbase bool `json:"coinbase"`
}
type UnspendableOutput ¶
UnspendableOutput represents a unspendable (locked) output
type ValidateAddressResponse ¶
type ValidateAddressResponse struct {
IsValid bool `json:"isvalid"`
Address string `json:"address"`
IsMine bool `json:"ismine"`
IsScript bool `json:"isscript"`
PubKey string `json:"pubkey"`
IsCompressed bool `json:"iscompressed"`
Account string `json:"account"`
}
ValidateAddressResponse represents a response to "validateaddress" call
type VerboseTx ¶
type VerboseTx struct {
// Virtual transaction size as defined in BIP 141
Size uint32
// Transaction fee in BTC
Fee float64
// Transaction fee with fee deltas used for mining priority
ModifiedFee float64
// Local time when tx entered pool
Time uint32
// Block height when tx entered pool
Height uint32
// Number of inpool descendents (including this one)
DescendantCount uint32
// Virtual transaction size of in-mempool descendants (including this one)
DescendantSize uint32
// Modified fees (see above) of in-mempool descendants (including this one)
DescendantFees float64
// Number of in-mempool ancestor transactions (including this one)
AncestorCount uint32
// Virtual transaction size of in-mempool ancestors (including this one)
AncestorSize uint32
// Modified fees (see above) of in-mempool ancestors (including this one)
AncestorFees uint32
// Hash of serialized transaction, including witness data
WTxId string
// Unconfirmed transactions used as inputs for this transaction
Depends []string
// Used by Bitcoin Unlimited RPC
SpentBy []string
}
type Vin ¶
type Vin struct {
Coinbase string `json:"coinbase"`
Txid string `json:"txid"`
Vout int `json:"vout"`
ScriptSig ScriptSig `json:"scriptSig"`
Sequence uint32 `json:"sequence"`
}
Vin represent an IN value
type Vout ¶
type Vout struct {
Value float64 `json:"value"`
N int `json:"n"`
ScriptPubKey ScriptPubKey `json:"scriptPubKey"`
}
Vout represent an OUT value
type WalletInfo ¶
type WalletInfo struct {
WalletName string `json:"walletname"`
WalletVersion uint64 `json:"walletversion"`
Format string `json:"format"`
TxCount uint64 `json:"txcount"`
KeyPoolOldest uint64 `json:"keypoololdest"`
KeyPoolSize uint64 `json:"keypoolsize"`
KeyPoolSizeHdInternal uint64 `json:"keypoolsize_hd_internal"`
UnlockedUntil uint64 `json:"unlocked_until"`
PayTxFee float64 `json:"paytxfee"`
HdSeedId string `json:"hdseedid"`
PrivateKeysEnabled bool `json:"private_keys_enabled"`
AvoidReuse bool `json:"avoid_reuse"`
Scanning Scanning `json:"scanning"`
Descriptors bool `json:"descriptors"`
}
See https://developer.bitcoin.org/reference/rpc/getwalletinfo.html
