Package org.bitcoinj.wallet
Classes that support the
Wallet
, which knows how to find and save transactions relevant to
a set of keys or scripts, calculate balances, and spend money: the wallet has many features and can be extended
in various ways, please refer to the website for documentation on how to use it.-
Interface Summary Interface Description CoinSelector A CoinSelector is responsible for picking some outputs to spend, from the list of all possible outputs.EncryptableKeyChain An encryptable key chain is a key-chain that can be encrypted with a user-provided password or AES key.KeyBag A KeyBag is simply an object that can map public keys, their 160-bit hashes and script hashes to ECKey andRedeemData
objects.KeyChain A KeyChain is a class that stores a collection of keys for aWallet
.KeyChainFactory Factory interface for creation keychains while de-serializing a wallet.KeyChainGroupStructure Defines a structure for hierarchical deterministic wallets.Protos.DeterministicKeyOrBuilder Protos.EncryptedDataOrBuilder Protos.ExchangeRateOrBuilder Protos.ExtensionOrBuilder Protos.KeyOrBuilder Protos.PeerAddressOrBuilder Protos.ScriptOrBuilder Protos.ScriptWitnessOrBuilder Protos.ScryptParametersOrBuilder Protos.TagOrBuilder Protos.TransactionConfidenceOrBuilder Protos.TransactionInputOrBuilder Protos.TransactionOrBuilder Protos.TransactionOutputOrBuilder Protos.WalletOrBuilder RiskAnalysis A RiskAnalysis represents an analysis of how likely it is that a transaction (and its dependencies) represents a possible double spending attack.RiskAnalysis.Analyzer WalletExtension An object implementing this interface can be added to aWallet
and provide arbitrary byte arrays that will be serialized alongside the wallet.WalletFiles.Listener Implementors can do pre/post treatment of the wallet file.WalletProtobufSerializer.WalletFactory -
Class Summary Class Description AllowUnconfirmedCoinSelector This coin selector will select any transaction at all, regardless of where it came from or whether it was confirmed yet.BasicKeyChain AKeyChain
that implements the simplest model possible: it can have keys imported into it, and just acts as a dumb bag of keys.CoinSelection Represents the results of aCoinSelector.select(Coin, List)
operation.DecryptingKeyBag A DecryptingKeyBag filters a pre-existing key bag, decrypting keys as they are requested using the provided AES key.DefaultCoinSelector This class implements aCoinSelector
which attempts to get the highest priority possible.DefaultKeyChainFactory Default factory for creating keychains while de-serializing.DefaultRiskAnalysis The default risk analysis.DefaultRiskAnalysis.Analyzer DeterministicKeyChain A deterministic key chain is aKeyChain
that uses the BIP 32 standard, as implemented byDeterministicHierarchy
, to derive all the keys in the keychain from a master seed.DeterministicKeyChain.Builder<T extends DeterministicKeyChain.Builder<T>> DeterministicSeed Holds the seed bytes for the BIP32 deterministic wallet algorithm, inside aDeterministicKeyChain
.FilteringCoinSelector A filtering coin selector delegates to another coin selector, but won't select outputs spent by the given transactions.KeyChainGroup A KeyChainGroup is used by theWallet
and manages: aBasicKeyChain
object (which will normally be empty), and zero or moreDeterministicKeyChain
s.KeyChainGroup.Builder Builder forKeyChainGroup
.KeyTimeCoinSelector A coin selector that takes all coins assigned to keys created before the given timestamp.Protos Protos.DeterministicKey Data attached to a Key message that defines the data needed by the BIP32 deterministic key hierarchy algorithm.Protos.DeterministicKey.Builder Data attached to a Key message that defines the data needed by the BIP32 deterministic key hierarchy algorithm.Protos.EncryptedData Protobuf typewallet.EncryptedData
Protos.EncryptedData.Builder Protobuf typewallet.EncryptedData
Protos.ExchangeRate An exchange rate between Bitcoin and some fiat currency.Protos.ExchangeRate.Builder An exchange rate between Bitcoin and some fiat currency.Protos.Extension An extension to the walletProtos.Extension.Builder An extension to the walletProtos.Key A key used to control Bitcoin spending.Protos.Key.Builder A key used to control Bitcoin spending.Protos.PeerAddress Protobuf typewallet.PeerAddress
Protos.PeerAddress.Builder Protobuf typewallet.PeerAddress
Protos.Script Protobuf typewallet.Script
Protos.Script.Builder Protobuf typewallet.Script
Protos.ScriptWitness Protobuf typewallet.ScriptWitness
Protos.ScriptWitness.Builder Protobuf typewallet.ScriptWitness
Protos.ScryptParameters The parameters used in the scrypt key derivation function.Protos.ScryptParameters.Builder The parameters used in the scrypt key derivation function.Protos.Tag A simple key->value mapping that has no interpreted content at all.Protos.Tag.Builder A simple key->value mapping that has no interpreted content at all.Protos.Transaction Protobuf typewallet.Transaction
Protos.Transaction.Builder Protobuf typewallet.Transaction
Protos.TransactionConfidence A description of the confidence we have that a transaction cannot be reversed in the future.Protos.TransactionConfidence.Builder A description of the confidence we have that a transaction cannot be reversed in the future.Protos.TransactionInput Protobuf typewallet.TransactionInput
Protos.TransactionInput.Builder Protobuf typewallet.TransactionInput
Protos.TransactionOutput Protobuf typewallet.TransactionOutput
Protos.TransactionOutput.Builder Protobuf typewallet.TransactionOutput
Protos.Wallet A bitcoin walletProtos.Wallet.Builder A bitcoin walletRedeemData This class aggregates data required to spend transaction output.SendRequest A SendRequest gives the wallet information about precisely how to send money to a recipient or set of recipients.Wallet A Wallet stores keys and a record of transactions that send and receive value from those keys.Wallet.SendResult A SendResult is returned to you as part of sending coins to a recipient.WalletFiles A class that handles atomic and optionally delayed writing of the wallet file to disk.WalletProtobufSerializer Serialize and de-serialize a wallet to a byte stream containing a protocol buffer.WalletTransaction Stores data about a transaction that is only relevant to theWallet
class. -
Enum Summary Enum Description BasicKeyChain.State Whether this basic key chain is empty, full of regular (usable for signing) keys, or full of watching keys.DefaultRiskAnalysis.RuleViolation The reason a transaction is considered non-standard, returned byDefaultRiskAnalysis.isStandard(Transaction)
.KeyChain.KeyPurpose Protos.Key.OutputScriptType Protobuf enumwallet.Key.OutputScriptType
Protos.Key.Type Protobuf enumwallet.Key.Type
Protos.Transaction.Pool This is a bitfield oriented enum, with the following bits: bit 0 - spent bit 1 - appears in alt chain bit 2 - appears in best chain bit 3 - double-spent bit 4 - pending (we would like the tx to go into the best chain) Not all combinations are interesting, just the ones actually used in the enum.Protos.Transaction.Purpose For what purpose the transaction was created.Protos.TransactionConfidence.Source Where did we get this transaction from? Knowing the source may help us to risk analyze pending transactions.Protos.TransactionConfidence.Type Protobuf enumwallet.TransactionConfidence.Type
Protos.Wallet.EncryptionType The encryption type of the wallet.RiskAnalysis.Result Wallet.BalanceType It's possible to calculate a wallets balance from multiple points of view.Wallet.MissingSigsMode Enumerates possible resolutions for missing signatures.WalletTransaction.Pool -
Exception Summary Exception Description AllRandomKeysRotating Indicates that an attempt was made to upgrade a random wallet to deterministic, but there were no non-rotating random keys to use as source material for the seed.DeterministicUpgradeRequiredException Indicates that an attempt was made to use HD wallet features on a wallet that was deserialized from an old, pre-HD random wallet without calling upgradeToDeterministic() beforehand.DeterministicUpgradeRequiresPassword Indicates that the pre-HD random wallet is encrypted, so you should try the upgrade again after getting the users password.UnreadableWalletException Thrown by theWalletProtobufSerializer
when the serialized protocol buffer is either corrupted, internally inconsistent or appears to be from the future.UnreadableWalletException.BadPassword UnreadableWalletException.FutureVersion UnreadableWalletException.WrongNetwork Wallet.BadWalletEncryptionKeyException Thrown if the private keys and seed of this wallet cannot be decrypted due to the supplied encryption key or password being wrong.Wallet.CompletionException Class of exceptions thrown inWallet.completeTx(SendRequest)
.Wallet.CouldNotAdjustDownwards Thrown when we were trying to empty the wallet, and the total amount of money we were trying to empty after being reduced for the fee was smaller than the min payment.Wallet.DustySendRequested Thrown if the resultant transaction would violate the dust rules (an output that's too small to be worthwhile).Wallet.ExceededMaxTransactionSize Thrown if the resultant transaction is too big for Bitcoin to process.Wallet.MultipleOpReturnRequested Thrown if there is more than one OP_RETURN output for the resultant transaction.