1 stable release
4.0.0 | Apr 21, 2024 |
---|
#201 in Programming languages
162 downloads per month
520KB
9K
SLoC
rtvm
Rust Tos Virtual Machine
Rtvm is an TVM written in Rust that is focused on speed and simplicity.
It has a fast and flexible implementation with a simple interface and embedded Host.
It passes all ethereum/tests
test suites.
Here is a list of guiding principles that Rtvm follows.
- EVM compatibility and stability - this goes without saying but it is nice to put it here. In the blockchain industry, stability is the most desired attribute of any system.
- Speed - is one of the most important things and most decisions are made to complement this.
- Simplicity - simplification of internals so that it can be easily understood and extended, and interface that can be easily used or integrated into other projects.
- interfacing -
[no_std]
so that it can be used as wasm lib and integrate with JavaScript and cpp binding if needed.
Project
Structure:
- crates
- rtvm -> main TVM library.
- rtvm-primitives -> Primitive data types.
- rtvm-interpreter -> Execution loop with instructions
- rtvm-precompile -> TVM precompiles
- bins:
- rtvme: cli binary, used for running state test jsons
Building from source
git clone https://github.com/tos-network/rtvm.git
cd rtvm
cargo build --release
Dependencies
~6–9MB
~187K SLoC