Package org.bitcoinj.core
Class FilteredBlock
java.lang.Object
org.bitcoinj.core.BaseMessage
org.bitcoinj.core.FilteredBlock
- All Implemented Interfaces:
Message
A FilteredBlock is used to relay a block with its transactions filtered using a BloomFilter. It consists
of the block header and a PartialMerkleTree which contains the transactions which matched the filter.
Instances of this class are not safe for use by multiple threads.
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbitcoinSerializeToStream(OutputStream stream) Serializes this message to the provided stream.booleanGets the set of transactions which were provided using provideTransaction() which match in getTransactionHashes()Gets a copy of the block headergetHash()Gets the hash of the block represented in this Filtered BlockReturns thePartialMerkleTreeobject that provides the mathematical proof of transaction inclusion in the block.intNumber of transactions in this block, before it was filteredGets a list of leaf hashes which are contained in the partial merkle tree in this filtered blockinthashCode()booleanProvide this FilteredBlock with a transaction which is in its Merkle tree.static FilteredBlockread(ByteBuffer payload) Deserialize this message from a given payload.toString()Methods inherited from class org.bitcoinj.core.BaseMessage
messageSize, serializeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.bitcoinj.core.Message
bitcoinSerialize, getMessageSize, unsafeBitcoinSerialize
-
Constructor Details
-
FilteredBlock
-
-
Method Details
-
read
public static FilteredBlock read(ByteBuffer payload) throws BufferUnderflowException, ProtocolException Deserialize this message from a given payload.- Parameters:
payload- payload to deserialize from- Returns:
- read message
- Throws:
BufferUnderflowException- if the read message extends beyond the remaining bytes of the payloadProtocolException
-
bitcoinSerializeToStream
Description copied from class:BaseMessageSerializes this message to the provided stream. If you just want the raw bytes use bitcoinSerialize().- Specified by:
bitcoinSerializeToStreamin classBaseMessage- Throws:
IOException
-
getTransactionHashes
Gets a list of leaf hashes which are contained in the partial merkle tree in this filtered block- Throws:
ProtocolException- If the partial merkle block is invalid or the merkle root of the partial merkle block doesn't match the block headerVerificationException
-
getBlockHeader
Gets a copy of the block header -
getHash
Gets the hash of the block represented in this Filtered Block -
provideTransaction
Provide this FilteredBlock with a transaction which is in its Merkle tree.- Returns:
- false if the tx is not relevant to this FilteredBlock
- Throws:
VerificationException
-
getPartialMerkleTree
Returns thePartialMerkleTreeobject that provides the mathematical proof of transaction inclusion in the block. -
getAssociatedTransactions
Gets the set of transactions which were provided using provideTransaction() which match in getTransactionHashes() -
getTransactionCount
public int getTransactionCount()Number of transactions in this block, before it was filtered -
equals
-
hashCode
public int hashCode() -
toString
-