bitcoinlib.db_cache module¶
-
class
bitcoinlib.db_cache.
DbCache
(db_uri=None)[source]¶ Bases:
object
Cache Database object. Initialize database and open session when creating database object.
Create new database if is doesn’t exist yet
-
class
bitcoinlib.db_cache.
DbCacheAddress
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Address Cache Table
Stores transactions and unspent outputs (UTXO’s) per address
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
address
¶ Address string base32 or base58 encoded
-
balance
¶ Total balance of UTXO’s linked to this key
-
last_block
¶ Number of last updated block
-
last_txid
¶ Transaction ID of latest transaction in cache
-
n_txs
¶ Total number of transactions for this address
-
n_utxos
¶ Total number of UTXO’s for this address
-
network_name
¶ Blockchain network name of this transaction
-
-
class
bitcoinlib.db_cache.
DbCacheBlock
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Block Cache Table
Stores block headers
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
bits
¶ Encoding for proof-of-work, used to determine target and difficulty
-
block_hash
¶ Hash of this block
-
height
¶ Height or sequence number for this block
-
merkle_root
¶ Merkle root used to validate transaction in block
-
network_name
¶ Blockchain network name
-
nonce
¶ Nonce (number used only once or n-once) is used to create different block hashes
-
prev_block
¶ Block hash of previous block
-
time
¶ Timestamp to indicated when block was created
-
tx_count
¶ Number of transactions included in this block
-
version
¶ Block version to specify which features are used (hex)
-
-
class
bitcoinlib.db_cache.
DbCacheTransaction
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Transaction Cache Table
Database which stores transactions received from service providers as cache
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
block_height
¶ Height of block this transaction is included in
-
confirmations
¶ Number of confirmation when this transaction is included in a block. Default is 0: unconfirmed
-
date
¶ Date when transaction was confirmed and included in a block
-
fee
¶ Transaction fee
-
locktime
¶ Transaction level locktime. Locks the transaction until a specified block (value from 1 to 5 million) or until a certain time (Timestamp in seconds after 1-jan-1970). Default value is 0 for transactions without locktime
-
network_name
¶ Blockchain network name of this transaction
-
nodes
¶ List of all inputs and outputs as DbCacheTransactionNode objects
-
order_n
¶ Order of transaction in block
-
txid
¶ Hexadecimal representation of transaction hash or transaction ID
-
version
¶ Tranaction version. Default is 1 but some wallets use another version number
-
witness_type
¶ Transaction type enum: legacy or segwit
-
-
class
bitcoinlib.db_cache.
DbCacheTransactionNode
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Link table for cache transactions and addresses
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
address
¶ Address string base32 or base58 encoded
-
index_n
¶ Order of input/output in this transaction
-
is_input
¶ True if input, False if output
-
ref_index_n
¶ Index number of transaction input which spends this output
-
ref_txid
¶ Transaction hash of input which spends this output
-
script
¶ Locking or unlocking script
-
sequence
¶ Transaction sequence number. Used for timelock transaction inputs
-
spent
¶ Is output spent?
-
transaction
¶ Related transaction object
-
txid
¶
-
value
¶ Value of transaction input
-
witnesses
¶ Witnesses (signatures) used in Segwit transaction inputs
-
-
class
bitcoinlib.db_cache.
DbCacheVars
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Table to store various blockchain related variables
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
expires
¶ Datetime value when variable expires
-
network_name
¶ Blockchain network name of this transaction
-
type
¶ Type of variable: int, string or float
-
value
¶ Value of variable
-
varname
¶ Variable unique name
-