# Developing and Deploying Contracts​

Being an Ethereum-compatible blockchain, all of the usual Ethereum developer tools and environments can be used to develop and deploy dApps for E Money Network.

An example for developing EMYC20 contracts on E Money Network Testnet can be found [here](https://docs.openzeppelin.com/contracts/4.x/erc20) .

### Remix[​](https://docs.avax.network/dapps/launch-your-ethereum-dapp#remix)

There is a tutorial for using [Remix](https://remix.ethereum.org/) to deploy smart contracts on E Money Network. It relies on MetaMask for access to the E Money Network.

Open Remix IDE in your browser <https://remix.ethereum.org/>&#x20;

Select Metamask in Deployment environment options.

![](https://lh7-us.googleusercontent.com/FocqhLpeWCKcMIIJYnysDQdeZmydEITfjs79_GOT0jMZndYHis73wbXKscSkl-r16xnIsTAUyqKqXNwIBN5LX_6MHEPVELagpiSlOWTmgyRxQ-Ht0NInPy4HznbrO9EKEj4mKRNRIBjYwp4lHaOFXgE)

Connect the address you want to deploy the smart contract from to the Remix IDE.

Compile the smart contract using the relevant compiler version.

![](https://lh7-us.googleusercontent.com/c1aEL9FCeADweuVR4ueW8z2S6T1YPn4EpaofHUHeDpflE688HSIhXlsiafYpELQhRHXGykT7wS9WRw1VACWyCB8ETX_Fj6hx0nz2DFEwzWzPOT_XM-5IEPigOb0LvJZeKJeBWIVs1Vd--MZhTr87Jmw)

Once compiled, deploy and run your transactions by providing suitable constructor values in the Deploy parameters.

![](https://lh7-us.googleusercontent.com/IZpqX_ykiH8LXbbM2Tndhv8sODQvoSnB1qewXk69h__WkrhoT5eSjm8I_AlX8cYLHEztMZQRhmQptp9DUrngNuvVP0gUROewnHkM5X4ZD_i6ZUJ4y7hBqIoMLN8vx67w7Ncq0DC5KIM4gi0i-nV0mx4)

After deployment, use the call and state change functions to interact with the Emoney chain using the freshly deployed smart contract.

### Truffle[​](https://docs.avax.network/dapps/launch-your-ethereum-dapp#truffle)

You can also use Truffle to test and deploy smart contracts on Emoney. Find out how in this [tutorial](https://docs.infura.io/infura/tutorials/ethereum/deploy-a-contract-using-truffle).

In the truffle config file, under the  networks tab, add E-Money network configurations as below:

![](https://lh7-us.googleusercontent.com/Lia0sHi-bCrhCUh5zPTsWD16ZWhWUPRDaP-OcX27XIOieA-LczdgXBB_9UzBV4_s6iGpIivaWfO1FV0b3FFavKLNBlFWKnhUPmDPQ3t3lFx17Tws8viORyB1XGFSW0coiIFwxWMsj-WQlDI-mPzrn1c)

### Hardhat[​](https://docs.avax.network/dapps/launch-your-ethereum-dapp#hardhat)

Hardhat is the newest development and testing environment for Solidity smart contracts and the one our developers use the most. Due to its superb testing support it is the recommended way of developing for E Money Network.

For more information see [here](https://hardhat.org/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.emoney.network/launching-your-dapp-on-e-money-network/developing-and-deploying-contracts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
