Metaverse VM: An Ethereum Compatible VM

Introduction

The Metaverse VM (MVM) is based on Ethereum-compatible smart contract Substrate pallet and SputnikVM: A Blockchain Virtual Machine.

SputnikVM is an implementation of an Ethereum Virtual Machine. It aims to be an efficient, pluggable virtual machine for different Ethereum-based blockchains.

A VM can be started given a Context and a BlockHeader. The user can then fire or step to run it. Those functions would only fail if it needs some information (accounts in the current block, or block hashes of previous blocks). If this happens, one can use the function commit_account and commit_blockhash to commit that information to the VM, and fire or step again until it succeeds. The current VM status can always be obtained using the status function.

MVM is a developer-oriented blockchain that strives to provide compatibility with the existing Ethereum developer toolchain and network. It does this by providing a full EVM implementation, a Web3-compatible API, and bridges that connect the MVM to existing Ethereum networks. This allows developers to deploy existing Solidity smart contracts and DApp frontends to MVM with minimal changes.

Features

  • Standalone - can be launched as an independent process or integrated into other apps

  • Universal - supports different Ethereum chains, such as ETC, ETH or private ones

  • Stateless - only an execution environment connected to independent State storage

  • Fast - main focus is on performance

  • IoT compatible - designed to support hardware used in embedded devices

  • FFI, Protobuf and JSON interface

  • Written in Rust, can be used as a binary, cargo crate or shared library

Structs

Enums

Statics

Traits

Type Definitions

Last updated