The Asterisc repository contains documentation files in different directories. Refer to this docs on where to find each documentation.
Golang implementation of Asterisc resides in rvgo. There are two separate implementation:
- Fast-mode: Emulate 1 instruction per step, directly on a VM state
- Slow-mode: Emulate 1 instruction per step, on a VM state-oracle.
The Golang VM's memory layout is implemented as a radix-trie. Refer to this docs on the radix-memory layout.
Relevant information about the Go runtime / compiler can be found in golang.md
Solidity implementation of Asteirsc resides in rvsol.
You can find more information regarding RISC-V resources, instruction set, spec, toolchains in the following documents.
For documentation and scripts regarding deploying Asterisc to a devnet or actual network, refer to:
There are number of different tests in Asterisc.
- Go unit tests
- Go VM tests
- Solidity VM tests
- RISC-V implementation tests
- End to End tests with op-program
Refer to the README.md
in the each directories for more details and prerequisites on running the individual tests.
To actually run a Fault Proof Program with Asterisc on op-program, refer to running-fpvm guide.
Asterisc has a dependency on the Optimism monorepo. This documentation contains information on how to update the monorepo dependency.