Skip to content

The life of a Transaction

elsirion edited this page Jul 11, 2022 · 2 revisions

What is a transaction

  • A Transaction Consists of inputs and outputs
    • Each input and output belongs to a certain module (e.g. Mint, Wallet, …)
    • All inputs have to add up to the same sum as all outputs
  • Also contains a signature
    • Each input has an associated secret/public key pair
    • The signature is a MuSig2 multi signature with all these input keys signing the entire transaction
pub struct Transaction {
    pub inputs: Vec<Input>,
    pub outputs: Vec<Output>,
    pub signature: Option<schnorr::Signature>,
}pub enum Input {
    Mint(<minimint_mint::Mint as FederationModule>::TxInput),
    Wallet(<minimint_wallet::Wallet as FederationModule>::TxInput),
    LN(<minimint_ln::LightningModule as FederationModule>::TxInput),
}

Transaction Creation

Transaction processing

Modules

Clone this wiki locally