[][src]Struct rchain_v1::rchain::Transaction

pub struct Transaction {
    nonce: u128,
    from: String,
    created_at: SystemTime,
    pub(crate) record: TransactionData,
    signature: Option<String>,
}

Stores a request to the blockchain

Fields

nonce: u128

Unique number (will be used for randomization later; prevents replay attacks)

from: String

Account ID

created_at: SystemTime

Stores the time the transaction was created

record: TransactionData

the type of the transaction and its additional information

signature: Option<String>

Signature of the hash of the whole message

Methods

impl Transaction[src]

pub fn new(from: String, transaction_data: TransactionData, nonce: u128) -> Self[src]

pub fn execute<T: WorldState>(
    &self,
    world_state: &mut T,
    is_initial: &bool
) -> Result<(), &'static str>
[src]

Will change the world state according to the transactions commands

pub fn calculate_hash(&self) -> Vec<u8>[src]

Will calculate the hash using Blake2 hasher

pub fn check_signature(&self) -> bool[src]

Will hash the transaction and check if the signature is valid (i.e., it is created by the owners private key) if the message is not signed it will always return false

pub fn is_signed(&self) -> bool[src]

Trait Implementations

impl Clone for Transaction[src]

impl Debug for Transaction[src]

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> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.