β¨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 transactionnonce
- a sequencially incrementing counter which indicate the transaction number from the accountvalue
β amount of rBTC to transfer from sender to recipient (in WEI, a denomination of rBTC)data
β optional field to include arbitrary datagasLimit
β the maximum amount of gas units that can be consumed by the transaction. Units of gas represent computational stepsmaxPriorityFeePerGas
- the maximum amount of gas to be included as a tip to the validatormaxFeePerGas
- the maximum amount of gas willing to be paid for the transaction (inclusive ofbaseFeePerGas
andmaxPriorityFeePerGas
)
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