ethereum-optimism / ethereum-optimism/asterisc

Refactor existing test suite and remove go dependency

Open
#129 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
109
Forks
28
PR merge metrics
No merged PRs in 30d

Description

**Removing dependency of Go**
Asterisc is built to work with [kona](https://github.com/op-rs/kona) which uses rust, but it was initially made to work with op-program on golang. As a result, the testing suite of Asterisc uses op-program for e2e testing and [go binaries for simple](https://github.com/ethereum-optimism/asterisc/tree/master/tests/go-tests) RISCV emulation tests.

We want to minimize the implementation of the vm to include only the instructions that are used in kona. However, golang and rust uses different riscv64 instruction sets. And removing extraneous instructions from asterisc would result in existing test suites breaking (see this [pr](https://github.com/ethereum-optimism/asterisc/pull/126) and [ci run for example](https://github.com/ethereum-optimism/asterisc/actions/runs/12817884169))

Before removing these instructions, Asterisc should integrate with kona to perform e2e tests, and use simple rust binaries for its testing suite.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.