βš’οΈBlocks

How does Matmo handle transactions?

Matmo is a transactionally versioned database. As transactions are executed, the resulting state of each transaction is stored individually, thus allowing more fine-grained data access.

Blocks are still the fundamental unit in #matmo. Transactions are batched and executed together in a block. Furthermore, proofs in storage are block-level granular. The number of transactions within a block depends on network activity and a configurable maximum block size limit.

Block Properties

The following are the block properties returned when you use the getBlock method from the API using any of our SDK.

Parameter
Description

hash

The hash of the block. null if pending

parentHash

It refers to the hash of the parent block inamto.

number

The number of the current block. null if pending.

timestamp

The UNIX timestamp for when the block was collated.

nonce

It's the most recent transaction based on the account's counter, which maintains track of how many transactions it does. null if pending.

difficulty

The current block difficulty returns 2500000000000000.

gasLimit

The maximum gas allowed in this block encoded as a hexadecimal, always returns 2^64-1.

gasUsed

The actual amount of gas used in this block.

transactions

An array of transaction objects - please see interface TransactionResponse for exact shape

baseFeePerGas

The MI445-like baseFee for this block.

Last updated