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.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.RedeemData 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 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.