# Hardhat

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat|h [options] [command]<br /><br />Hardhat commands for building, testing and deploying smart contracts<br /><br />Options:<br />  -h, --help                       display help for command<br /><br />Commands:<br />  build [options] [operands...]    Build the smart contracts using Hardhat<br />  deploy                           Deploy the smart contracts using Hardhat<br />  network [options] [operands...]  Start a development network using Hardhat<br />  script                           Run a script using Hardhat<br />  test [options] [operands...]     Test the smart contracts using Hardhat<br />  help [command]                   display help for command<br /></pre>}
</div>

## Build

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat build <br />Examples:<br /><br />  # Build the smart contracts using Hardhat<br />  $ settlemint scs hardhat build<br /><br />  # Get list of possible Hardhat compile options<br />  $ settlemint scs hardhat build --help<br /><br />  # Build the smart contracts using additional options to the Hardhat compile command<br />  $ settlemint scs hardhat build --concurrency 2<br /><br />Build the smart contracts using Hardhat<br /><br />Options:<br />  -h, --help  Get list of possible hardhat compile options<br /></pre>}
</div>

## Deploy

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat deploy [options] [command]<br /><br />Deploy the smart contracts using Hardhat<br /><br />Options:<br />  -h, --help        display help for command<br /><br />Commands:<br />  local [options]   Deploy the smart contracts using Hardhat/ignition to the<br />                    local development network<br />  remote [options]  Deploy the smart contracts using Hardhat/ignition to the<br />                    remote network on the platform<br />  help [command]    display help for command<br /></pre>}
</div>

### Local

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat deploy local <br />Examples:<br /><br />  # Deploy smart contracts to local network using Hardhat/Ignition<br />  $ settlemint scs hardhat deploy local<br /><br />  # Deploy a specific Ignition module<br />  $ settlemint scs hardhat deploy local --module ignition/modules/custom.ts<br /><br />  # Deploy with a clean deployment state<br />  $ settlemint scs hardhat deploy local --reset<br /><br />  # Deploy and verify contracts on Etherscan<br />  $ settlemint scs hardhat deploy local --verify<br /><br />Deploy the smart contracts using Hardhat/ignition to the local development<br />network<br /><br />Options:<br />  -m, --module &lt;ignitionmodule&gt;   The module to deploy with Ignition, defaults<br />                                  to &quot;ignition/modules/main.ts&quot;<br />  --deployment-id &lt;deploymentId&gt;  Set the id of the deployment<br />  -r, --reset                     Wipes the existing deployment state before<br />                                  deploying<br />  -v, --verify                    Verify the deployment on Etherscan<br />  -h, --help                      display help for command<br /></pre>}
</div>

### Remote

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat deploy remote <br />Examples:<br /><br />  # Deploy smart contracts to remote network using Hardhat/Ignition<br />  $ settlemint scs hardhat deploy remote<br /><br />  # Deploy a specific Ignition module to remote network<br />  $ settlemint scs hardhat deploy remote --module ignition/modules/custom.ts<br /><br />  # Deploy with a clean deployment state to remote network<br />  $ settlemint scs hardhat deploy remote --reset<br /><br />  # Deploy and verify contracts on remote network<br />  $ settlemint scs hardhat deploy remote --verify<br /><br />  # Deploy to remote network with specific blockchain node<br />  $ settlemint scs hardhat deploy remote --blockchain-node my-node<br /><br />  # Deploy to production environment<br />  $ settlemint scs hardhat deploy remote --prod<br /><br />Deploy the smart contracts using Hardhat/ignition to the remote network on the<br />platform<br /><br />Options:<br />  -m, --module &lt;ignitionmodule&gt;       The module to deploy with Ignition,<br />                                      defaults to &quot;ignition/modules/main.ts&quot;<br />  --deployment-id &lt;deploymentId&gt;      Set the id of the deployment<br />  -r, --reset                         Wipes the existing deployment state before<br />                                      deploying<br />  -v, --verify                        Verify the deployment on Etherscan<br />  --default-sender &lt;defaultSender&gt;    Set the default sender for the deployment<br />  --parameters &lt;parameters&gt;           A relative path to a JSON file to use for<br />                                      the module parameters<br />  --strategy &lt;strategy&gt;               Set the deployment strategy to use<br />                                      (default: &quot;basic&quot;)<br />  --blockchain-node &lt;blockchainNode&gt;  Blockchain Node unique name (optional,<br />                                      defaults to the blockchain node in the<br />                                      environment)<br />  --prod                              Connect to your production environment<br />  -a, --accept-defaults               Accept the default and previously set<br />                                      values<br />  -h, --help                          display help for command<br /></pre>}
</div>

## Network

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat network <br />Examples:<br /><br />  # Start a development network using Hardhat<br />  $ settlemint scs hardhat network<br /><br />  # Get list of possible Hardhat node options<br />  $ settlemint scs hardhat network --help<br /><br />  # Start a development network using Hardhat with a specific port<br />  $ settlemint scs hardhat network --port 3000<br /><br />Start a development network using Hardhat<br /><br />Options:<br />  -h, --help  Get list of possible hardhat node options<br /></pre>}
</div>

## Script

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat script [options] [command]<br /><br />Run a script using Hardhat<br /><br />Options:<br />  -h, --help        display help for command<br /><br />Commands:<br />  remote [options]  Run a Hardhat script on a remote network on the platform.<br />  local [options]   Run a Hardhat script on a local development network.<br />  help [command]    display help for command<br /></pre>}
</div>

### Remote

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat script remote <br />Examples:<br /><br />  # Run a Hardhat script on a remote network<br />  $ settlemint scs hardhat script remote --script scripts/deploy.ts<br /><br />  # Run a Hardhat script on a remote network with a specific blockchain node<br />  $ settlemint scs hardhat script remote --script scripts/deploy.ts --blockchain-node my-blockchain-node<br /><br />  # Run a Hardhat script on a remote network without compiling<br />  $ settlemint scs hardhat script remote --script scripts/deploy.ts --no-compile<br /><br />Run a Hardhat script on a remote network on the platform.<br /><br />Options:<br />  -s, --script &lt;script&gt;               The script to run with Hardhat , e.g.<br />                                      &quot;scripts/deploy.ts&quot;<br />  --blockchain-node &lt;blockchainNode&gt;  Blockchain Node unique name (optional,<br />                                      defaults to the blockchain node in the<br />                                      environment)<br />  --prod                              Connect to your production environment<br />  -a, --accept-defaults               Accept the default and previously set<br />                                      values<br />  --no-compile                        Don&#039;t compile before running this task<br />  -h, --help                          display help for command<br /></pre>}
</div>

### Local

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat script local <br />Examples:<br /><br />  # Run a Hardhat script on a local network<br />  $ settlemint scs hardhat script local --script scripts/deploy.ts<br /><br />Run a Hardhat script on a local development network.<br /><br />Options:<br />  -s, --script &lt;script&gt;  The script to run with Hardhat , e.g.<br />                         &quot;scripts/deploy.ts&quot;<br />  --no-compile           Don&#039;t compile before running this task<br />  -h, --help             display help for command<br /></pre>}
</div>

## Test

<div className="cli-command">
  {<pre>Usage: settlemint smart-contract-set hardhat test <br />Examples:<br /><br />  # Run tests using Hardhat<br />  $ settlemint scs hardhat test<br /><br />  # Get list of possible Hardhat test options<br />  $ settlemint scs hardhat test --help<br /><br />  # Run tests and stop on the first test that fails<br />  $ settlemint scs hardhat test --bail<br /><br />  # Run a specific test file<br />  $ settlemint scs hardhat test test/token.test.ts<br /><br />Test the smart contracts using Hardhat<br /><br />Options:<br />  -h, --help  Get list of possible hardhat test options<br /></pre>}
</div>
