Transactions

A transaction refers to an action initiated by an account which changes the state of the blockchain. To effectively perform the state change every transaction is broadcast to the whole network. Any node can broadcast a request for a transaction to be executed on the blockchain state machine. After this happens a validator will validate, execute the transaction and propagate the resulting state change to the rest of the network.

To process every transaction, computation resources on the network are consumed. Thus, the concept of "gas" arises as a reference to the computation required to process the transaction by a validator. Users have to pay a fee for this computation as all transactions require an associated fee. This fee is calculated based on the gas required to execute the transaction and the gas price.

Additionally, a transaction needs to be signed using the sender's private key. This proves that the transaction could only have come from the sender and was not sent fraudulently.

In a nutshell, the transaction lifecycle once a signed transaction is submitted to the network is the following:

  • A transaction hash is cryptographically generated.

  • The transaction is broadcasted to the network and added to a transaction pool consisting of all other pending network transactions.

  • A validator must pick your transaction and include it in a block in order to verify the transaction and consider it "successful".

Transaction Types

E Money Network supports two transaction types:

1. Cosmos transactions

2. Ethereum transactions

Both these transactions are possible because our E Money Network uses the Cosmos-SDK and implements the Ethereum Virtual Machine as a module. In this way E Money Network provides the features and functionalities of Ethereum and Cosmos chains combined and more.

Although most of the information included on both of these transaction types are similar, there are differences among them. An important difference is that Cosmos transactions allow multiple messages on the same transaction. Conversely, Ethereum transactions do not have this capability. In order to bring these two types of transactions together E Money Network implements Ethereum transactions as a single sdk.Msg contained in an auth.StdTx. All relevant Ethereum transaction information is contained in this message. This includes the signature, gas, payload, etc.

Last updated