public class GetUTXOsMessage extends Message
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.
Modifier and Type | Field and Description |
---|---|
static int |
MIN_PROTOCOL_VERSION |
static long |
SERVICE_FLAGS_REQUIRED
Bitmask of service flags required for a node to support this command (0x3)
|
cursor, length, MAX_SIZE, offset, params, payload, recached, serializer, UNKNOWN_LENGTH
Constructor and Description |
---|
GetUTXOsMessage(NetworkParameters params,
byte[] payloadBytes) |
GetUTXOsMessage(NetworkParameters params,
java.util.List<TransactionOutPoint> outPoints,
boolean includeMempool) |
Modifier and Type | Method and Description |
---|---|
protected void |
bitcoinSerializeToStream(java.io.OutputStream stream)
Serializes this message to the provided stream.
|
boolean |
equals(java.lang.Object o) |
boolean |
getIncludeMempool() |
com.google.common.collect.ImmutableList<TransactionOutPoint> |
getOutPoints() |
int |
hashCode() |
protected void |
parse() |
adjustLength, bitcoinSerialize, bitcoinSerialize, getHash, getMessageSize, getParams, hasMoreBytes, isCached, isRecached, readByte, readByteArray, readBytes, readHash, readInt64, readStr, readUint32, readUint64, readVarInt, readVarInt, setSerializer, unCache, unsafeBitcoinSerialize
public static final int MIN_PROTOCOL_VERSION
public static final long SERVICE_FLAGS_REQUIRED
public GetUTXOsMessage(NetworkParameters params, java.util.List<TransactionOutPoint> outPoints, boolean includeMempool)
public GetUTXOsMessage(NetworkParameters params, byte[] payloadBytes)
protected void parse() throws ProtocolException
parse
in class Message
ProtocolException
public boolean getIncludeMempool()
public com.google.common.collect.ImmutableList<TransactionOutPoint> getOutPoints()
protected void bitcoinSerializeToStream(java.io.OutputStream stream) throws java.io.IOException
Message
bitcoinSerializeToStream
in class Message
java.io.IOException
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object