View Source BitcoinLib.Transaction.Decoder (BitcoinLib v0.3.2)

Transform binaries into Transactions

Link to this section Summary

Functions

Converts a bitstring into a %Transaction{}

Link to this section Functions

Link to this function

to_struct(encoded_transaction)

View Source
@spec to_struct(bitstring()) ::
  {:ok,
   %BitcoinLib.Transaction{
     id: term(),
     inputs: term(),
     locktime: term(),
     outputs: term(),
     version: term(),
     witness: term()
   }}
  | {:error, binary()}

Converts a bitstring into a %Transaction{}

examples

Examples

iex> <<0x01000000017b1eabe0209b1fe794124575ef807057c77ada2138ae4fa8d6c4de0398a14f3f0000000000ffffffff01f0ca052a010000001976a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac92040000::680>>
...> |> BitcoinLib.Transaction.Decoder.to_struct()
{
  :ok,
  %BitcoinLib.Transaction{
    version: 1,
    id: "b1caa607a324ed9132c3d894d2cf7a22d59cdb4022bd8827c49e2f0d8ca018c6",
    inputs: [
      %BitcoinLib.Transaction.Input{
        txid: "3f4fa19803dec4d6a84fae3821da7ac7577080ef75451294e71f9b20e0ab1e7b",
        vout: 0,
        script_sig: [],
        sequence: 4294967295
      }
    ],
    outputs: [
      %BitcoinLib.Transaction.Output{
        value: 4999990000,
        script_pub_key: [
          %BitcoinLib.Script.Opcodes.Stack.Dup{},
          %BitcoinLib.Script.Opcodes.Crypto.Hash160{},
          %BitcoinLib.Script.Opcodes.Data{value: <<0xcbc20a7664f2f69e5355aa427045bc15e7c6c772::160>>},
          %BitcoinLib.Script.Opcodes.BitwiseLogic.EqualVerify{},
          %BitcoinLib.Script.Opcodes.Crypto.CheckSig{script: <<0x76a914cbc20a7664f2f69e5355aa427045bc15e7c6c77288ac::200>>}
        ]
      }
    ],
    locktime: 1170
  }
}