Skip to content

[EPIC] Execution API #1802

@gupadhyaya

Description

@gupadhyaya

Rollkit currently supports ABCI 2.0 (execution.go) for execution. This work will expand rollkit to support different execution engines by defining a common execution interface (via go-execution) which can be implemented by different execution engines such as ABCI (go-execution-abci), EVM (go-execution-evm), etc.

Details:

  • The execution interface (go-execution) can support GRPC (similar to go-sequencing and go-da)
  • The interface itself can be inspired by other works such as astria's execution api, omni's octane, berachain's beaconkit, and many more.
  • The exact methods in the interface still needs to be determined. But, astria's reference is here.

Tasks


Execution API

go-execution

Testing

go-execution-evm

Testing

go-execution-cosmos-sdk

  • Implement InitChain
  • Implement GetTxs
    • Re-import latest ABCI mempool implementation from cometbft
  • Implement ExecuteTxs
  • Implement SetFinal
  • Implement cometbft APIs
    • Identify what has to be exposed from rollkit via RPC

Testing

  • Setup automated testing
  • Run reusable test suite from go-execution
  • Implementation-specific unit tests

rollkit

Testing

  • Figure out: re-use vs re-write integration tests

The list above may get outdated; please check the Exec API project board for reference.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions