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).
- Dynamic interface
- Ad hoc interpreter
- Access NFTs
- Parameterizable functions
- Import system
- On-chain deployment
- Storage system
The diamond contract:
Functional extensions for diamonds aka. the facets:
-
Configurability and upgradability:
StarkShell facet:
Bootstrapper contract:
- Start your local development server
starknet-devnet
- 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.