Skip to content
forked from NethermindEth/warp

Bringing Ethereum Virtual Machine to StarkNet at warp speed!

License

Notifications You must be signed in to change notification settings

casualuser/warp

 
 

Repository files navigation

Warp

Warp brings EVM compatible languages to StarkNet, making it possible to transpile Ethereum smart contracts to Cairo, and use them on StarkNet.

Table of Contents 📋

Installation ⚙️

Linux:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.7
sudo apt install -y python3.7-dev
sudo apt install -y libgmp3-dev
python3.7 -m venv ~/warp_demo
source ~/warp_demo/bin/activate
pip install wheel
pip install ecdsa fastecdsa sympy
cd vendor/cairo-lang
pip install cairo-lang-0.3.1.zip
cd ../../
make warp

MacOs:

brew install python@3.7
brew install gmp
python3.7 -m venv ~/warp_demo
source ~/warp_demo/bin/activate
pip install wheel
pip install ecdsa fastecdsa sympy
cd vendor/cairo-lang
pip install cairo-lang-0.3.1.zip
cd ../../
make warp

Usage 💻

You can transpile your Solidity/Vyper contracts with:

warp transpile CONTRACT

To deploy the transpiled Cairo contract to Starknet use:

warp deploy CONTRACT.cairo

To invoke a public/external method use:

warp invoke --contract CONTRACT.cairo --address ADDRESS --function FUNCTION_NAME --inputs "INPUTS"

The --inputs flag requires its argument to be a string and have each value separated by a space.

You can check the status of your transaction with:

warp status TX_ID

Want to contribute? 👍

Your contributions are always welcome, see contribution guidelines.

License

Apache License Version 2.0, January 2004.

About

Bringing Ethereum Virtual Machine to StarkNet at warp speed!

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 90.1%
  • Go 8.7%
  • Other 1.2%