---
# System prepended metadata

title: Local Hornet + Wasp + EVM Contract Setup

---

# Local Hornet + Wasp + EVM Contract Setup

## Requirements
- Git
- Go 1.20
- solc >= 0.8.11
- docker & docker-compose

## Repo 
- Clone [Wasp Repo]([https://wiki.iota.org/shimmer/smart-contracts/guide/chains_and_nodes/installing-wasp/](https://github.com/iotaledger/wasp))

## Follow [Local Setup Readme](https://github.com/iotaledger/wasp/tree/develop/tools/local-setup)
- Start docker containers
    - Hornet and Wasp Dashboard should be accessible now
- Initiate wasp-cli
- Set network parameters
- Request funds
- Deploy a new chain
    - The Wasp dashboard should now show your ChainID and JSON-RPC URL
![](https://i.imgur.com/CVNTBRE.png)


## Setup Metamask
- Install [Metamask extension](https://metamask.io/download/) in a supported browser
- Create new wallet (store your seed phrase savely)
- You should have a clean setup now

## Connect to EVM Chain
![](https://i.imgur.com/zwFmmy2.png)

![](https://i.imgur.com/gQvfxJL.png)

![](https://i.imgur.com/FRzOFEY.png)

![](https://i.imgur.com/s4RDD9y.png)

## Send funds to L2 EVM account
Copy account from metamask
![](https://i.imgur.com/IofM9Bo.png)

Deposit to your Metamask Account
`wasp-cli chain deposit 0x1cB38fb231d6736d0DC84ABb45854810b43A8309 base:1000000`

Output should look something like this
```
2023-01-18T16:14:49+01:00	INFO	nc	Posted blockID 0x8d49e8a0218a0d89b6b3b9bbbf59a79657f02be7562bee2685172e83ca81970d
2023-01-18T16:14:49+01:00	INFO	nc	Posted transaction id 0x45d17cde513d20bba1ba62a731774ee32251a63456e220ab1297cd0946811866
Posted on-ledger transaction 0x45d17cde513d20bba1ba62a731774ee32251a63456e220ab1297cd0946811866 containing 1 request:
  - #0 (check result with: wasp-cli chain request 0x45d17cde513d20bba1ba62a731774ee32251a63456e220ab1297cd09468118660000)
Waiting for tx requests to be processed...
```

## Check funds in metamask
![](https://i.imgur.com/i3mSF7A.png)

## Move funds between L2 accounts

Create new account 2
![](https://i.imgur.com/ZkCidQV.png)

Copy address of new account 2
![](https://i.imgur.com/qBW6moZ.png)

Switch back to account 1 and click send
![](https://i.imgur.com/XX1dGka.png)

Paste address auf account 2, define amount to send and click next
![](https://i.imgur.com/ySg4cf2.png)

Confirm transaction
![](https://i.imgur.com/wLstG5P.png)

Check balances of both accounts. Account 1 lost the sent tokens + gas fees. Account 2 received the tokens.
![](https://i.imgur.com/76rpLGE.png)

![](https://i.imgur.com/VJJN07D.png)


# Follow [this tutorial](https://wiki.iota.org/shimmer/tutorials/shimmerevm-setup) for deployment of a Solidity SC via Remix