πŸ”€Transactions

Transactions in matmo are instructions cryptographically signed by accounts (accounts owned by users, not accounts owned by code). These instructions are stored in the blockchain and added to a block.

A transaction can be anything from sending tokens to another account to calling a function of a smart contract.

#prerequisites We recommend that you read Accounts first to understand this page.

How the transaction works?

When a user initiates a transaction on #matmo, some specific data is created:Receiver: The recipient is the address or contract account where the account receives the transaction, or it can be an externally owned account. Each transaction is targeted to a specific recipient.

Monce: This field shows the latest transaction based on the account counter, tracking how many times it has been traded. Gas Price: Most transactions require the transaction initiator to pay a fee, the unit is Wei.

Value: The amount of Wei or mamo that the sender account wishes to transfer to the receiver is represented by this value.

Data: If the recipient of the transaction is a smart contract, the data contains information about the function of the contract to be performed. This includes data with different lengths.

Signature: The signature indicates the sender of the communication. A signature is created when an externally owned account confirms and signs a transaction using its private key.

Transaction Type

Simple or asset transfer: This refers to the regular transfer of tokens in the form of tokens from one account to another.

To deploy a contract, the user calls the createContractDeployer function and provides the hash of the contract to publish and the constructor parameters.

The contract bytecode itself is provided in the factory_deps field of the MIPE445 transaction. If the contract is a factory (i.e. it can deploy other contracts).

the bytecodes for those contracts should also be included in factory_deps.

(0x000...000)matmo: Contract deployment occurs when a user sends a transaction to address zero, and the data transaction field is equal to the contract bytecode concatenated with the constructor parameters.

Matmo: To deploy a contract on matmo, the user calls the ContractDeployercreate function and provides the hash value of the contract to be published and the constructor parameters. The contract bytecode itself is provided in the MIPE445 transaction field. If the contract is a factory (i.e. it can deploy other contracts), the bytecode for those contracts should also be included in it. Read more about contract deployment.

factory_depsfactory_deps

Processing time When transactions are made on Matmo, they are immediately processed and added to blocks, and blocks are generated instantly. Once Matmo is fully decentralized, block times will take seconds. Once committed, a block goes through the different stages described here.

Last updated