Struct bitcoin::blockdata::transaction::Transaction [] [src]

pub struct Transaction {
    pub version: u32,
    pub lock_time: u32,
    pub input: Vec<TxIn>,
    pub output: Vec<TxOut>,
    pub witness: Vec<Vec<Vec<u8>>>,
}

A Bitcoin transaction, which describes an authenticated movement of coins

Fields

The protocol version, should always be 1.

Block number before which this transaction is valid, or 0 for valid immediately.

List of inputs

List of outputs

Witness data: for each txin, an array of byte-arrays

Methods

impl Transaction
[src]

Computes a "normalized TXID" which does not include any signatures. This gives a way to identify a transaction that is ``the same'' as another in the sense of having same inputs and outputs.

Computes a signature hash for a given input index with a given sighash flag. To actually produce a scriptSig, this hash needs to be run through an ECDSA signer, the SigHashType appended to the resulting sig, and a script written around this, but this is the general (and hard) part.

Warning This does NOT attempt to support OP_CODESEPARATOR. In general this would require evaluating script_pubkey to determine which separators get evaluated and which don't, which we don't have the information to determine.

Panics

Panics if input_index is greater than or equal to self.input.len()

Trait Implementations

impl Clone for Transaction
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for Transaction
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for Transaction
[src]

impl Debug for Transaction
[src]

Formats the value using the given formatter.

impl Hash for Transaction
[src]

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.

impl Deserialize for Transaction

Deserialize this value given this Deserializer.

impl Serialize for Transaction

Serializes this value into this serializer.

impl BitcoinHash for Transaction
[src]

Produces a Sha256dHash which can be used to refer to the object

impl<S: SimpleEncoder> ConsensusEncodable<S> for Transaction
[src]

Encode an object with a well-defined format

impl<D: SimpleDecoder> ConsensusDecodable<D> for Transaction
[src]

Decode an object with a well-defined format