bitcoin-tx-0.12.1: Utility functions for manipulating bitcoin transactions

Safe HaskellNone
LanguageHaskell2010

Data.Bitcoin.Transaction

Synopsis

Documentation

decode Source

Arguments

:: HexString

The hexadecimal representation of the transaction

-> Transaction

The decoded Transaction object

Decodes a hex representation of a transaction into a Transaction object.

encode Source

Arguments

:: Transaction

The Transaction we would like to encode to hex

-> HexString

The hexadecimal representation of the transaction

Encodes a Transaction object into a hex representation.

transactionId :: Transaction -> TransactionId Source

Calculates the transaction id of a Transaction as a TransactionId so it can be used in RPC interfaces.

data Transaction Source

Data type representing a bitcoin transaction

Constructors

Transaction 

Fields

txVersion :: Word32

Transaction data format version

txIn :: [TransactionIn]

List of transaction inputs

txOut :: [TransactionOut]

List of transaction outputs

txLockTime :: Word32

The block number of timestamp at which this transaction is locked

data TransactionIn Source

Data type representing a transaction input.

Constructors

TransactionIn 

Fields

prevOutput :: OutPoint

Reference the previous transaction output (hash + position)

scriptInput :: Script

Script providing the requirements of the previous transaction output to spend those coins.

txInSequence :: Word32

Transaction version as defined by the sender of the transaction. The intended use is for replacing transactions with new information before the transaction is included in a block.

data TransactionOut Source

Data type representing a transaction output.

Constructors

TransactionOut 

Fields

outValue :: Word64

Transaction output value.

scriptOutput :: Script

Script specifying the conditions to spend this output.

data Coinbase Source

Data type representing the coinbase transaction of a Block. Coinbase transactions are special types of transactions which are created by miners when they find a new block. Coinbase transactions have no inputs. They have outputs sending the newly generated bitcoins together with all the block's fees to a bitcoin address (usually the miners address). Data can be embedded in a Coinbase transaction which can be chosen by the miner of a block. This data also typically contains some randomness which is used, together with the nonce, to find a partial hash collision on the block's hash.