A comparison between EVM-based blockchains and Stellar
EVM’s Accounts | Stellar’s Ledger Entry |
---|---|
nonce | No equivalent |
balance | accounts |
storageRoot | trustLines |
codeHash | data, contractData |
No native equivalent | contractCode |
No native equivalent | claimableBalances |
No native equivalent | liquidityPools |
No native equivalent | offers |
No native equivalent | configSetting |
No native equivalent | ttl (State Archival) |
EVM’s Data Model | Stellar Data On Dune |
---|---|
blocks | history_ledgers |
transactions | history_transactions |
logs | history_contract_events |
traces | history_operations, history_effects |
contracts | contract_data |
balances | accounts, trustlines, contract_data |
token_transfers | history_operations |
Stellar Name | EVM Equivalent | Description |
---|---|---|
sequence | number | The sequence number of the ledger |
ledger_hash | hash | The hash of this ledger |
previous_ledger_hash | parent_hash | The hash of the previous ledger |
closed_at | time | The timestamp when the ledger was written to the chain |
protocol_version | version | Protocol version specified in the block header |
total_coins | The total number of lumens in circulation | |
fee_pool | gas_used | The sum of all transaction fees |
inflation_seq | Deprecated | |
base_fee | base_fee_per_gas | The minimum fee charged, per operation, to be included in the ledger |
base_reserve | The minimum XLM balance to be held in an account to be considered valid | |
max_tx_set_size | gas_limit | The maximum number of non-Soroban operations allowed in a ledger. Note: Soroban transactions have a separate mechanism to limit resources utilization per ledger |
ledger_header | The raw XDR representation of all the data stored in the Ledger Header | |
transaction_count | transaction_count | Number of transactions in the ledger |
operation_count | The number of operations in the ledger. Note: Up to 100 operations can be bundled in a single transaction |
Stellar Name | EVM Equivalent | Description |
---|---|---|
transaction_hash | hash | A hex-encoded SHA-256 hash of this transaction’s XDR-encoded form |
ledger_sequence | block_number | The sequence number of the ledger |
closed_at | block_time | The timestamp when the ledger was written to the chain |
inner_transaction_hash | A transaction hash of a transaction wrapped with its signatures for fee-bump transactions | |
account | from | The account address that originates the transaction |
account_sequence | nonce | The source account’s sequence number that this transaction consumed. Sequence numbers can only be used once and help maintain atomicity and idempotency on the network |
max_fee | max_fee_per_gas | The maximum fee (in stroops) that the account is willing to pay for the transaction to be included in a ledger |
operation_count | Fixed at 1 | The number of operations contained within this transaction |
memo_type | Memos can be text, ids, or hashes | |
memo | Optional unstructured data field that can be used to differentiate between accounts (for pooled accounts) | |
time_bounds | Optional UNIX timestamp of a lower and upper bound of when a transaction will be valid | |
successful | success | Indicates if the transaction succeeded |
fee_charged | gas_used | |
fee_account | An account that is not the originating source account for a transaction is allowed to pay transaction fees on behalf of the source account. These accounts are called fee accounts and incur all transaction costs for the source account | |
new_max_fee | The maximum fee (in stroops) an account is willing to pay for this account’s fees | |
account_muxed | If the user has defined multiplexed (muxed) accounts, the account exists “virtually” under a traditional Stellar account address. This address distinguishes between the virtual accounts | |
fee_account_muxed | If the fee account that sponsors fee is a multiplexed account, the virtual address will be listed here | |
preconditions | Validity checks the account can add when submitting a transaction to the network. If the conditions are not met, the transaction fails | |
transaction_envelope | input_data | The raw XDR that was submitted to the Stellar Network |
transaction_result | receipt_root | The raw XDR that is returned from the network after applying the transaction |
transaction_meta | input_data | Raw XDR of ledger state changes based on the application of the transaction |
transaction_fee_meta | input_data | |
soroban_transaction_data | traces | Host env resource consumption by smart contract transactions |
transaction_result_code | traces.error | Result code that includes error codes for failed transactions |
inclusion_fee_charged | gas_price | The fee charged for the transaction to be included in the ledger. This is a fixed fee for the entire ledger and starts at a minimum of 100 stroops. The fee increases based on demand |
signatures | signature |
Stellar Name | EVM Equivalent | Description |
---|---|---|
id | Unique id for the operation | |
source_account | transaction.from | The account address that originates the transaction |
transaction_id | Unique ID for the transaction. Bundled operation IDs will share the same Transaction ID | |
type | transaction.type | Operation type |
details | Mix of input data and traces | Unstructured JSON that contains details based on the type of operation executed. Each operation will return its own relevant details |
operation_result_code | traces | |
operation_trace_code | traces |
Stellar Name | EVM Equivalent | Description |
---|---|---|
type | trace.type | The type of event emission |
ledger | block_number | The sequence number of the ledger |
closed_at | block_time | The timestamp when the ledger was written to the chain |
contract_id | contract_address | String key representation of the contract address |
id | transaction_index | Unique ID for the event |
in_successful_contract_call | trace.tx_success | Whether the event was emitted from a successful contract call |
topic | logs.topic_list | Topic list of events |
value | logs.data | The body values of the topic list |
transaction_hash | trace.tx_hash | The transaction which triggered this event |