/StarkShell

Turing-complete on-chain VM on StarkNet.

Primary LanguageCairo

brilliantblocks-logo

StarkShell

This repository contains StarkShell, an on-chain virtual machine (VM), and its surrounding code base for a modular smart contract system. It can be used for both on-chain development as well as exploratory testing.

Features

  • Dynamic interface
  • Ad hoc interpreter
  • Access NFTs
  • Parameterizable functions
  • Import system
  • On-chain deployment
  • Storage system

Repository Overview

The diamond contract:

Functional extensions for diamonds aka. the facets:

Bootstrapper contract:

How To Get Started

  1. Start your local development server
starknet-devnet
  1. Make starkshell.sh executable and run the script for initializing the dApp.
chmod +x starkshell.sh
./starkshell.sh

The script deploys a root diamond, which itself is a VM. The functionality which is not covered by other components is programmed with StarkShell. The encoded instructions are in src/starkshell.