# Compiling Zink Project
We have got a zink project after [creating-zink-project][create], now it's time to compile
it to EVM bytecode!
```bash
# Enter our project
cd my-awesome-project
# Build the project
elko build
# Check the outputs
ls target/zink
my-awesome-project.wasm my-awesome-project.bin
```
you'll see a `my-awesome-project.bin` file under `target/zink`, and that's it!
## How it works?
first, `elko` compiles the cargo project to WASM with:
```bash
cargo b --target wasm32-unknown-unknown --release
```
then, there will be some logic inside `elko`, running `wasm-opt` for our output
WASM binary
```bash
# if you have wasm-opt installed on your machine, you can try the same
mkdir -p target/zink
wasm-opt -O4 target/wasm32-unknown/unknown/release/my-awesome-project.wasm -o target/zink/my-awesome-project.wasm
```
finally we use `zinkc` to compile the wasm to EVM bytecode:
```bash
# For reproducing it in your command line
zinkc target/zink/my-awesome-project.wasm
mv my-awesome-project.bin target/zink
```
## Future plans (TODO)
1. Generate the ABI as well.
2. Add command for deploying the bytecode to EVM chain with RPC endpoints.
3. Test suite
4. ...
[create]: /tutorial/create-zink-project.html