# Hardhat

## Using Hardhat for StratoVM Development

Hardhat is recognised for being flexible, extensible and fast in the Ethereum smart contract development.

### Configuring Hardhat for StratoVM <a href="#configuring-hardhat-for-superseed" id="configuring-hardhat-for-superseed"></a>

To prepare Hardhat for deployment on the StratoVM networks, make the necessary adjustments to your `hardhat.config.ts`:

<pre class="language-javascript" data-overflow="wrap"><code class="lang-javascript">import { HardhatUserConfig } from "hardhat/config";
import "@nomiclabs/hardhat-ethers"; 
const config: HardhatUserConfig = {  networks: {       
/* For StratoVM Sepolia Testnet "stratovm-sepolia": 
{ url: "https://rpc.stratovm.io",  
<strong>    accounts: [process.env.PRIVATE_KEY as string],
</strong>    gasPrice: 1000000000,},    

// For local development environment    "stratovm-local": 
    {  url: "http://localhost:8545",      
    accounts: [process.env.PRIVATE_KEY as string],      
    gasPrice: 1000000000,    },  },  
    defaultNetwork: "stratovm-local",}; 
    
    export default config; */
</code></pre>

### Your Smart Contracts on Superseed Testnet <a href="#your-smart-contracts-on-superseed-testnet" id="your-smart-contracts-on-superseed-testnet"></a>

#### Deployment <a href="#deployment" id="deployment"></a>

Use Hardhat's deployment scripts, specifying the network:

```javascript
npx hardhat run scripts/deploy.ts --network stratovm-sepolia
```

#### Verification <a href="#verification" id="verification"></a>

After deploying, verify your smart contract using Hardhat's built-in verification tool:

{% code overflow="wrap" %}

```javascript
npx hardhat verify --network stratovm-sepolia DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1"
```

{% endcode %}

💬

Remember to replace `DEPLOYED_CONTRACT_ADDRESS` and `"Constructor argument 1"` with the actual address of your deployed contract and any necessary constructor parameters.

{% hint style="info" %}
The provided configurations and commands are aimed at offering a simple start-up process for developers working with Hardhat on the StratoVM blockchain. Adjustments may be needed based on specific contract requirements or network preferences.
{% endhint %}

<br>


---

# 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.stratovm.io/stratovm-sdk/toolkits/hardhat.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.
