Package com.google.bitcoin.core

Interface Summary
BlockChainListener Implementors can be connected to a BlockChain and have its methods called when various things happen that modify the state of the chain, for example: new blocks being received, a re-org occurring, or the best chain head changing.
PeerEventListener Implementors can listen to events like blocks being downloaded/transactions being broadcast/connect/disconnects, they can pre-filter messages before they are procesesed by a Peer or PeerGroup, and they can provide transactions to remote peers when they ask for them.
PeerFilterProvider An interface which provides the information required to properly filter data downloaded from Peers.
TransactionBroadcaster A general interface which declares the ability to broadcast transactions.
TransactionConfidence.Listener A confidence listener is informed when the level of TransactionConfidence is updated by something, like for example a Wallet.
WalletEventListener Implementors are called when the contents of the wallet changes, for instance due to receiving/sending money or a block chain re-organize.
WalletExtension An object implementing this interface can be added to a Wallet and provide arbitrary byte arrays that will be serialized alongside the wallet.
 

Class Summary
AbstractBlockChain An AbstractBlockChain holds a series of Block objects, links them together, and knows how to verify that the chain follows the rules of the NetworkParameters for this chain.
AbstractBlockChainListener Default no-op implementation of BlockChainListener.
AbstractPeerEventListener Convenience implementation of PeerEventListener.
AbstractWalletEventListener Convenience implementation of WalletEventListener.
Address A Bitcoin address looks like 1MsScoe2fTJoq4ZPdQgqyhgWeoNamYPevy and is derived from an elliptic curve public key plus a set of network parameters.
AddressMessage Represents an "addr" message on the P2P network, which contains broadcast IP addresses of other peers.
AlertMessage Alerts are signed messages that are broadcast on the peer-to-peer network if they match a hard-coded signing key.
Base58 Base58 is a way to encode Bitcoin addresses as numbers and letters.
BitcoinSerializer Methods to serialize and de-serialize messages to the Bitcoin network format as defined in the protocol specification.
BitcoinSerializer.BitcoinPacketHeader  
Block A block is a group of transactions, and is one of the fundamental data structures of the Bitcoin system.
BlockChain A BlockChain implements the simplified payment verification mode of the Bitcoin protocol.
BloomFilter A Bloom filter is a probabilistic data structure which can be sent to another client so that it can avoid sending us transactions that aren't relevant to our set of keys.
CheckpointManager Vends hard-coded StoredBlocks for blocks throughout the chain.
ChildMessage Represents a Message type that can be contained within another Message.
DownloadListener An implementation of AbstractPeerEventListener that listens to chain download events and tracks progress as a percentage.
DumpedPrivateKey Parses and generates private keys in the form used by the Bitcoin "dumpprivkey" command.
ECKey Represents an elliptic curve public and (optionally) private key, usable for digital signatures but not encryption.
ECKey.ECDSASignature Groups the two components that make up a signature, and provides a way to encode to DER form, which is how ECDSA signatures are represented when embedded in other data structures in the Bitcoin protocol.
EmptyMessage Parent class for header only messages that don't have a payload.
FilteredBlock A FilteredBlock is used to relay a block with its transactions filtered using a BloomFilter.
FullPrunedBlockChain A FullPrunedBlockChain works in conjunction with a FullPrunedBlockStore to verify all the rules of the Bitcoin system, with the downside being a larg cost in system resources.
GetAddrMessage Represents the "getaddr" P2P protocol message, which requests network AddressMessages from a peer.
GetBlocksMessage Represents the "getblocks" P2P network message, which requests the hashes of the parts of the block chain we're missing.
GetDataMessage Represents the "getdata" P2P network message, which requests the contents of blocks or transactions given their hashes.
GetHeadersMessage The "getheaders" command is structurally identical to "getblocks", but has different meaning.
HeadersMessage A protocol message that contains a repeated series of block headers, sent in response to the "getheaders" command.
InventoryItem  
InventoryMessage Represents the "inv" P2P network message.
ListMessage Abstract superclass of classes with list based payload, ie InventoryMessage and GetDataMessage.
MemoryPool Tracks transactions that are being announced across the network.
MemoryPoolMessage The "mempool" message asks a remote peer to announce all transactions in its memory pool, possibly restricted by any Bloom filter set on the connection.
Message A Message is a data structure that can be serialized/deserialized using both the Bitcoin proprietary serialization format and built-in Java object serialization.
NetworkParameters NetworkParameters contains the data needed for working with an instantiation of a Bitcoin chain.
NotFoundMessage Sent by a peer when a getdata request doesn't find the requested data in the mempool.
PartialMerkleTree A data structure that contains proofs of block inclusion for one or more transactions, in an efficient manner.
Peer A Peer handles the high level communication with a Bitcoin node, extending a PeerSocketHandler which handles low-level message (de)serialization.
PeerAddress A PeerAddress holds an IP address and port number representing the network location of a peer in the Bitcoin P2P network.
PeerGroup Runs a set of connections to the P2P network, brings up connections to replace disconnected nodes and manages the interaction between them all.
PeerSocketHandler Handles high-level message (de)serialization for peers, acting as the bridge between the com.google.bitcoin.net classes and Peer.
Ping  
Pong  
Sha256Hash A Sha256Hash just wraps a byte[] so that equals and hashcode work correctly, allowing it to be used as keys in a map.
StoredBlock Wraps a Block object with extra data that can be derived from the block chain but is slow or inconvenient to calculate.
StoredTransactionOutput A StoredTransactionOutput message contains the information necessary to check a spending transaction.
StoredUndoableBlock Contains minimal data neccessary to disconnect/connect the transactions in the stored block at will.
Transaction A transaction represents the movement of coins from some addresses to some other addresses.
TransactionBroadcast Represents a single transaction broadcast that we are performing.
TransactionConfidence A TransactionConfidence object tracks data you can use to make a confidence decision about a transaction.
TransactionInput A transfer of coins from one address to another creates a transaction in which the outputs can be claimed by the recipient in the input of another transaction.
TransactionOutPoint This message is a reference or pointer to an output of a different transaction.
TransactionOutput A TransactionOutput message contains a scriptPubKey that controls who is able to spend its value.
TransactionOutputChanges TransactionOutputChanges represents a delta to the set of unspent outputs.
UnknownMessage  
UnsafeByteArrayOutputStream An unsynchronized implementation of ByteArrayOutputStream that will return the backing byte array if its length == size().
Utils A collection of various utility methods that are helpful for working with the Bitcoin protocol.
VarInt A variable-length encoded integer using Satoshis encoding.
VersionAck The verack message, sent by a client accepting the version message they received from their peer.
VersionedChecksummedBytes In Bitcoin the following format is often used to represent some type of key:
VersionMessage A VersionMessage holds information exchanged during connection setup with another peer.
Wallet A Wallet stores keys and a record of transactions that send and receive value from those keys.
Wallet.SendRequest A SendRequest gives the wallet information about precisely how to send money to a recipient or set of recipients.
Wallet.SendResult A SendResult is returned to you as part of sending coins to a recipient.
 

Enum Summary
AbstractBlockChain.NewBlockType  
BloomFilter.BloomUpdate The BLOOM_UPDATE_* constants control when the bloom filter is auto-updated by the peer using it as a filter, either never, for all outputs or only for pay-2-pubkey outputs (default)
InventoryItem.Type  
PeerGroup.FilterRecalculateMode  
Transaction.Purpose This enum describes the underlying reason the transaction was created.
Transaction.SigHash These constants are a part of a scriptSig signature on the inputs.
TransactionConfidence.ConfidenceType Describes the state of the transaction in general terms.
TransactionConfidence.Listener.ChangeReason An enum that describes why a transaction confidence listener is being invoked (i.e.
TransactionConfidence.Source Information about where the transaction was first seen (network, sent direct from peer, created by ourselves).
TransactionInput.ConnectionResult  
TransactionInput.ConnectMode  
Wallet.BalanceType It's possible to calculate a wallets balance from multiple points of view.
 

Exception Summary
AddressFormatException  
InsufficientMoneyException Thrown to indicate that you don't have enough money available to perform the requested operation.
InsufficientMoneyException.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.
Message.LazyParseException  
PeerException Thrown when a problem occurs in communicating with a peer, and we should retry.
ProtocolException  
PrunedException PrunedException is thrown in cases where a fully verifying node has deleted (pruned) old block data that turned out to be necessary for handling a re-org.
ScriptException  
VerificationException  
WrongNetworkException This exception is thrown by the Address class when you try and decode an address with a version code that isn't used by that network.
 



Copyright © 2014. All rights reserved.