Skip to main content
EVM-native computation starts with a chain and block context, consumes state or event data, and produces derived results. BlockX connects these data semantics to function execution through Call Builders, runtime reads, and Writer Plugins.

Chain and block context

Keep these contexts aligned with the computation you intend. A bundle contains multiple heights; if each row requires historical state, derive the read context from the source data. A bundle number is not a block identifier.

State, events, and dependencies

BlockDB exposes table data. EVM node capabilities provide account state and contract queries. Choose which source answers each question in your function.

Function calls and contract calls

One BlockX Call can read state and make several contract calls. Python Executor runs the user function; the node capability executes the EVM query and returns its result through the Worker IO path.

Follow the data

  • New-block processing selects one trigger block and its output context.
  • Historical backfill selects a source bundle and the corresponding output partition.
  • The caller controls submission and downstream readiness checks.

Summary

  • Carry the intended chain and block through input, reads, and output.
  • Distinguish a BlockX Call from an EVM contract call.
  • Confirm storage completion separately from function execution.
Continue reading: