✨Transactions

What is a transaction?

Transactions are cryptographically signed instructions from accounts. An account will initiate a transaction to update the state of the Runic Chain.

Transactions, which change the state of the EVM, need to be broadcast to the whole network. Any node can broadcast a request for a transaction to be executed on the EVM; after this happens, a validator will execute the transaction and propagate the resulting state change to the rest of the network.

Transactions require a fee and must be included in a validated block. To make this overview simpler we'll cover gas fees and validation elsewhere.

A submitted transaction includes the following information:

  • recipient – the receiving address (if an externally-owned account, the transaction will transfer value. If a contract account, the transaction will execute the contract code)

  • signature – the identifier of the sender. This is generated when the sender's private key signs the transaction and confirms the sender has authorized this transaction

  • nonce - a sequencially incrementing counter which indicate the transaction number from the account

  • value – amount of rBTC to transfer from sender to recipient (in WEI, a denomination of rBTC)

  • data – optional field to include arbitrary data

  • gasLimit – the maximum amount of gas units that can be consumed by the transaction. Units of gas represent computational steps

  • maxPriorityFeePerGas - the maximum amount of gas to be included as a tip to the validator

  • maxFeePerGas - the maximum amount of gas willing to be paid for the transaction (inclusive of baseFeePerGas and maxPriorityFeePerGas)

On Runic Chain there are a few different types of transactions:

  • Regular transactions: a transaction from one account to another.

  • Contract deployment transactions: a transaction without a 'to' address, where the data field is used for the contract code.

  • Execution of a contract: a transaction that interacts with a deployed smart contract. In this case, 'to' address is the smart contract address.

Last updated