Skip to content

BrilliantBlocks/StarkShell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

brilliantblocks-logo

StarkShell

StarkShell is a virtual machine (VM) implemented inside a Cairo smart contract. This VM is Turing complete, has an on-chain interpreter and can execute a sequence of chained transactions. These are transactions where the output of one transaction can be directly processed as input for the next one, supporting additional logic as loops and conditions in between them.

This repository is currently undergoing a refactoring and upgrading process (to the latest version of Cairo).

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.