Struct bitcoin_tx::Transaction
source · pub struct Transaction {
pub vin: Vec<TxIn>,
pub vout: Vec<TxOut>,
pub n_version: i32,
pub n_lock_time: u32,
pub hash: u256,
pub witness_hash: u256,
}Expand description
| The basic transaction that is broadcasted | on the network and contained in blocks. | A transaction can contain multiple | inputs and outputs. |
Fields§
§vin: Vec<TxIn>| The local variables are made const to | prevent unintended modification without | updating the cached hash value. | | However, CTransaction is not actually | immutable; deserialization and assignment | are implemented, and bypass the constness. | | This is safe, as they update the entire | structure, including the hash.
vout: Vec<TxOut>§n_version: i32§n_lock_time: u32§hash: u256| Memory only. |
witness_hash: u256Implementations§
source§impl Transaction
impl Transaction
pub fn serialize<Stream>(&self, s: &mut Stream)
sourcepub fn new<Stream>(_0: DeserializeType, s: &mut Stream) -> Self
pub fn new<Stream>(_0: DeserializeType, s: &mut Stream) -> Self
| This deserializing constructor is | provided instead of an Unserialize | method. | | Unserialize is not possible, since | it would require overwriting const | fields. |
pub fn is_null(&self) -> bool
pub fn get_hash(&self) -> &u256
pub fn get_witness_hash(&self) -> &u256
pub fn is_coinbase(&self) -> bool
pub fn has_witness(&self) -> bool
pub fn compute_hash(&self) -> u256
pub fn compute_witness_hash(&self) -> u256
sourcepub fn get_value_out(&self) -> Amount
pub fn get_value_out(&self) -> Amount
| Return sum of txouts. |
sourcepub fn get_total_size(&self) -> u32
pub fn get_total_size(&self) -> u32
| Get the total transaction size in bytes, | including witness data. “Total Size” | defined in BIP141 and BIP144. | | ———– | @return | | Total transaction size in bytes |
pub fn to_string(&self) -> String
Trait Implementations§
source§impl Default for Transaction
impl Default for Transaction
source§fn default() -> Transaction
fn default() -> Transaction
source§impl<'de> Deserialize<'de> for Transaction
impl<'de> Deserialize<'de> for Transaction
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl From<&MutableTransaction> for Transaction
impl From<&MutableTransaction> for Transaction
source§fn from(tx: &MutableTransaction) -> Self
fn from(tx: &MutableTransaction) -> Self
| Convert a MutableTransaction into | a Transaction. |
source§impl From<&Transaction> for MutableTransaction
impl From<&Transaction> for MutableTransaction
source§fn from(tx: &Transaction) -> Self
fn from(tx: &Transaction) -> Self
source§impl PartialEq<Transaction> for Transaction
impl PartialEq<Transaction> for Transaction
source§fn eq(&self, other: &Transaction) -> bool
fn eq(&self, other: &Transaction) -> bool
self and other values to be equal, and is used
by ==.source§impl RecursiveDynamicUsage for Transaction
impl RecursiveDynamicUsage for Transaction
fn recursive_dynamic_usage(&self) -> usize
source§impl Serialize for Transaction
impl Serialize for Transaction
impl Eq for Transaction
Auto Trait Implementations§
impl RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl UnwindSafe for Transaction
Blanket Implementations§
§impl<T, U> CastInto<U> for Twhere
U: CastFrom<T>,
impl<T, U> CastInto<U> for Twhere U: CastFrom<T>,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.