> For the complete documentation index, see [llms.txt](https://gitbook.humanode.io/hmnd-ehmnd/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.humanode.io/hmnd-ehmnd/deploy-an-example-smart-contract.md).

# Deploy an example smart contract

This guide is for individual users with some technical skills who want to deploy a simple \`Storage\` smart contract on Humanode network.

You should have:

* `0xAddress...` - your ETH address that is imported into a ETH supported wallet connected to Humanode Israfel Testnet. In this case, it's **Humanode Testnet 5** with the following rpc url: `https://explorer-rpc-ws.testnet5.stages.humanode.io`.

<figure><img src="https://1431170879-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhKZNwmzPYrswDUmy5yPx%2Fuploads%2FGQKoIEmuDcPQvP6Y2s8w%2Fimage.png?alt=media&amp;token=b6e8bcc4-72a3-4687-b844-5b56ed197af3" alt=""><figcaption></figcaption></figure>

### Tools

* Environment to deploy ETH smart contracts like [Remix IDE](https://remix.ethereum.org/)
* Ethereum supported wallet like [Metamask](https://metamask.io)

### Steps

1. Open the Remix IDE and choose default `Storage.sol` contract.

<figure><img src="https://1431170879-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhKZNwmzPYrswDUmy5yPx%2Fuploads%2F21du1OBqwfXWq297jqRA%2Fimage.png?alt=media&amp;token=3a243ce5-15b1-40bf-82bd-00000e14bfd4" alt=""><figcaption></figcaption></figure>

2. Go to the `Compile` tab and compile the contract.

<figure><img src="https://1431170879-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhKZNwmzPYrswDUmy5yPx%2Fuploads%2FGu8C53R6RuIBCQtscjnx%2Fimage.png?alt=media&amp;token=ed8d61ad-b571-4884-be7d-5e17dac4783d" alt=""><figcaption></figcaption></figure>

3. Go to the `Deploy` tab and deploy the contract with injected metamask wallet connected to the Humanode network.

<figure><img src="https://1431170879-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhKZNwmzPYrswDUmy5yPx%2Fuploads%2FDlOborGN7fvMIN00dhbr%2Fimage.png?alt=media&amp;token=ecb519b9-957c-45b7-8e30-5d4121a0bf92" alt=""><figcaption></figcaption></figure>

4. Check `Deployed Contracts` tab. You should be able to see a `store` call and `retrieve` read method.

<figure><img src="https://1431170879-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhKZNwmzPYrswDUmy5yPx%2Fuploads%2F28rfSonDEkT3moLgk6KS%2Fimage.png?alt=media&amp;token=d752f38b-13a5-4ed4-bc94-5f0f72e1446c" alt=""><figcaption></figcaption></figure>

5. Let's check the deployed contract by storing a value of 10. Input the value and click on `transact` tab.

<figure><img src="https://1431170879-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhKZNwmzPYrswDUmy5yPx%2Fuploads%2F4Kpg1wRjOFSC1xm5RGnN%2FScreenshot%202023-07-20%20at%2019.44.45.png?alt=media&amp;token=aefe7c73-54be-49bc-977a-51ee43a0961d" alt=""><figcaption></figcaption></figure>

5. Now click on `retrieve` tab and verify that the stored value in smart contract is 10.

<figure><img src="https://1431170879-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhKZNwmzPYrswDUmy5yPx%2Fuploads%2FDirE4snQaAoBXrW2aEfp%2FScreenshot%202023-07-20%20at%2019.45.27.png?alt=media&amp;token=35eceb60-96ad-455f-81a6-143afa96bddb" alt=""><figcaption></figcaption></figure>
