Transpile EVM-Compatible Languages To Cairo
Project description
NOTE
Warp is under heavy development and is currently not stable. A stable release will be released in the coming weeks.
Warp
Warp brings Solidity to StarkNet, making it possible to transpile Ethereum smart contracts to Cairo, and use them on StarkNet.
Table of Contents :clipboard:
Installation :gear:
Prerequisites:
Install Kudu, our tool to generate the Yul AST, and add it to your PATH.
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
sudo apt-get install -y python3.7-venv
python3.7 -m venv ~/warp_demo
source ~/warp_demo/bin/activate
cd warp
make warp
MacOs:
brew install python@3.7
brew install gmp
python3.7 -m venv ~/warp_demo
source ~/warp_demo/bin/activate
cd warp
make warp
Usage :computer:
You can transpile your Solidity/Vyper contracts with:
warp transpile FILE_PATH CONTRACT_NAME
CONTRACT_NAME
is the name of the primary contract (non-interface, non-library, non-abstract contract) that you wish to transpile
To deploy the transpiled program to Starknet use:
warp deploy CONTRACT.json
To invoke a public/external method use:
warp invoke --program CONTRACT.json --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? :thumbsup:
Your contributions are always welcome, see contribution guidelines.
License
Apache License Version 2.0, January 2004.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file evm-warp-0.2.2.tar.gz
.
File metadata
- Download URL: evm-warp-0.2.2.tar.gz
- Upload date:
- Size: 28.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c887dacbf734f35f6b1431cc8c80693af3688cce14197794c87de1b9cc49e5a4 |
|
MD5 | 5aec1a335ecb40ed6694d8885c3ab482 |
|
BLAKE2b-256 | b31ad8bff880d719a3893b05f2369b4af456e4200f3bee121b1a1341899eae92 |
File details
Details for the file evm_warp-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: evm_warp-0.2.2-py3-none-any.whl
- Upload date:
- Size: 5.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53671072173209322b13c0d70fb1aa7c48861a4461da501d4cd3ecf38a5a2536 |
|
MD5 | d9939b5f9d03e2ea8ce21ebac0e5f9bc |
|
BLAKE2b-256 | a2f0c3c559163298c688dc7e21019d1422493f9b89e118a9cfb9e58164a39b5f |