Documentation ¶
Index ¶
- func ExtractBlockTransactions(msgBlock *wire.MsgBlock, txTree int8, chainParams *chaincfg.Params) ([]*Tx, [][]*Vout, []VinTxPropertyARRAY)
- type AddressRow
- type Block
- type JSONB
- type ScriptPubKeyData
- type ScriptSig
- type SyncResult
- type Tx
- type UInt64Array
- type Vin
- type VinTxProperty
- type VinTxPropertyARRAY
- type Vout
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractBlockTransactions ¶
func ExtractBlockTransactions(msgBlock *wire.MsgBlock, txTree int8, chainParams *chaincfg.Params) ([]*Tx, [][]*Vout, []VinTxPropertyARRAY)
ExtractBlockTransactions extracts transaction information from a wire.MsgBlock and returns the processed information in slices of the dbtypes Tx, Vout, and VinTxPropertyARRAY.
Types ¶
type AddressRow ¶
type AddressRow struct { // id int64 Address string FundingTxDbID uint64 FundingTxHash string FundingTxVoutIndex uint32 VoutDbID uint64 Value uint64 SpendingTxDbID uint64 SpendingTxHash string SpendingTxVinIndex uint32 VinDbID uint64 }
AddressRow represents a row in the addresses table
type Block ¶
type Block struct { Hash string `json:"hash"` Size uint32 `json:"size"` Height uint32 `json:"height"` Version uint32 `json:"version"` MerkleRoot string `json:"merkleroot"` StakeRoot string `json:"stakeroot"` NumTx uint32 NumRegTx uint32 Tx []string `json:"tx"` TxDbIDs []uint64 NumStakeTx uint32 STx []string `json:"stx"` STxDbIDs []uint64 Time uint64 `json:"time"` Nonce uint64 `json:"nonce"` VoteBits uint16 `json:"votebits"` FinalState []byte `json:"finalstate"` Voters uint16 `json:"voters"` FreshStake uint8 `json:"freshstake"` Revocations uint8 `json:"revocations"` PoolSize uint32 `json:"poolsize"` Bits uint32 `json:"bits"` SBits uint64 `json:"sbits"` Difficulty float64 `json:"difficulty"` ExtraData []byte `json:"extradata"` StakeVersion uint32 `json:"stakeversion"` PreviousHash string `json:"previousblockhash"` }
Block models a Decred block.
type JSONB ¶
type JSONB map[string]interface{}
JSONB is used to implement the sql.Scanner and driver.Valuer interfaces required for the type to make a postgresql compatible JSONB type.
type ScriptPubKeyData ¶
type ScriptPubKeyData struct { ReqSigs uint32 `json:"reqSigs"` Type string `json:"type"` Addresses []string `json:"addresses"` }
ScriptPubKeyData is part of the result of decodescript(ScriptPubKeyHex)
type ScriptSig ¶
ScriptSig models the signature script used to redeem the origin transaction as a JSON object (non-coinbase txns only)
type SyncResult ¶
SyncResult is the result of a database sync operation, containing the height of the last block and an arror value.
type Tx ¶
type Tx struct { //blockDbID int64 BlockHash string `json:"block_hash"` BlockHeight int64 `json:"block_height"` BlockTime int64 `json:"block_time"` Time int64 `json:"time"` TxType int16 `json:"tx_type"` Version uint16 `json:"version"` Tree int8 `json:"tree"` TxID string `json:"txid"` BlockIndex uint32 `json:"block_index"` Locktime uint32 `json:"locktime"` Expiry uint32 `json:"expiry"` Size uint32 `json:"size"` Spent int64 `json:"spent"` Sent int64 `json:"sent"` Fees int64 `json:"fees"` NumVin uint32 `json:"numvin"` Vins VinTxPropertyARRAY `json:"vins"` VinDbIds []uint64 `json:"vindbids"` NumVout uint32 `json:"numvout"` Vouts []*Vout `json:"vouts"` VoutDbIds []uint64 `json:"voutdbids"` }
Tx models a Decred transaction. It is stored in a Block.
type UInt64Array ¶
type UInt64Array []uint64
UInt64Array represents a one-dimensional array of PostgreSQL integer types
func (*UInt64Array) Scan ¶
func (a *UInt64Array) Scan(src interface{}) error
Scan implements the sql.Scanner interface.
type Vin ¶
type Vin struct { //txDbID int64 Coinbase string `json:"coinbase"` TxHash string `json:"txhash"` VoutIdx uint32 `json:"voutidx"` Tree int8 `json:"tree"` Sequence uint32 `json:"sequence"` AmountIn float64 `json:"amountin"` BlockHeight uint32 `json:"blockheight"` BlockIndex uint32 `json:"blockindex"` ScriptHex string `json:"scripthex"` }
Vin models a transaction input.
type VinTxProperty ¶
type VinTxProperty struct { PrevOut string `json:"prevout"` PrevTxHash string `json:"prevtxhash"` PrevTxIndex uint32 `json:"prevvoutidx"` PrevTxTree uint16 `json:"tree"` Sequence uint32 `json:"sequence"` ValueIn uint64 `json:"amountin"` TxID string `json:"tx_hash"` TxIndex uint32 `json:"tx_index"` TxTree uint16 `json:"tx_tree"` BlockHeight uint32 `json:"blockheight"` BlockIndex uint32 `json:"blockindex"` ScriptHex []byte `json:"scripthex"` }
VinTxProperty models a transaction input with previous outpoint information.
type VinTxPropertyARRAY ¶
type VinTxPropertyARRAY []VinTxProperty
VinTxPropertyARRAY is a slice of VinTxProperty sturcts that implements sql.Scanner and driver.Valuer.
func (*VinTxPropertyARRAY) Scan ¶
func (p *VinTxPropertyARRAY) Scan(src interface{}) error
Scan satisfies sql.Scanner
type Vout ¶
type Vout struct { // txDbID int64 TxHash string `json:"tx_hash"` TxIndex uint32 `json:"tx_index"` TxTree int8 `json:"tx_tree"` Value uint64 `json:"value"` Version uint16 `json:"version"` ScriptPubKey []byte `json:"pkScriptHex"` ScriptPubKeyData ScriptPubKeyData `json:"pkScript"` }
Vout defines a transaction output