Class GetUTXOsMessage
This command is supported only by Bitcoin XT nodes, which advertise themselves using the second service bit flag. It requests a query of the UTXO set keyed by a set of outpoints (i.e. tx hash and output index). The result contains a bitmap of spentness flags, and the contents of the associated outputs if they were found. The results aren't authenticated by anything, so the peer could lie, or a man in the middle could swap out its answer for something else. Please consult BIP 65 for more information on this message.
Note that this message does not let you query the UTXO set by address, script or any other criteria. The
reason is that Bitcoin nodes don't calculate the necessary database indexes to answer such queries, to save
space and time. If you want to look up unspent outputs by address, you can either query a block explorer site,
or you can use the FullPrunedBlockChain class to build the required indexes yourself. Bear in that it will
be quite slow and disk intensive to do that!
Instances of this class are not safe for use by multiple threads.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final longBitmask of service flags required for a node to support this command (0x3)Fields inherited from class org.bitcoinj.core.Message
cursor, length, MAX_SIZE, offset, params, payload, recached, serializer, UNKNOWN_LENGTH -
Constructor Summary
ConstructorsConstructorDescriptionGetUTXOsMessage(NetworkParameters params, byte[] payloadBytes) GetUTXOsMessage(NetworkParameters params, List<TransactionOutPoint> outPoints, boolean includeMempool) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbitcoinSerializeToStream(OutputStream stream) Serializes this message to the provided stream.booleanbooleancom.google.common.collect.ImmutableList<TransactionOutPoint>inthashCode()protected voidparse()Methods inherited from class org.bitcoinj.core.Message
adjustLength, bitcoinSerialize, bitcoinSerialize, getHash, getMessageSize, getParams, hasMoreBytes, isCached, isRecached, readByte, readByteArray, readBytes, readHash, readInt64, readStr, readUint32, readUint64, readVarInt, readVarInt, setSerializer, unCache, unsafeBitcoinSerialize
-
Field Details
-
MIN_PROTOCOL_VERSION
public static final int MIN_PROTOCOL_VERSION- See Also:
-
SERVICE_FLAGS_REQUIRED
public static final long SERVICE_FLAGS_REQUIREDBitmask of service flags required for a node to support this command (0x3)- See Also:
-
-
Constructor Details
-
GetUTXOsMessage
public GetUTXOsMessage(NetworkParameters params, List<TransactionOutPoint> outPoints, boolean includeMempool) -
GetUTXOsMessage
-
-
Method Details
-
parse
- Specified by:
parsein classMessage- Throws:
ProtocolException
-
getIncludeMempool
public boolean getIncludeMempool() -
getOutPoints
-
bitcoinSerializeToStream
Description copied from class:MessageSerializes this message to the provided stream. If you just want the raw bytes use bitcoinSerialize().- Overrides:
bitcoinSerializeToStreamin classMessage- Throws:
IOException
-
equals
-
hashCode
public int hashCode()
-