# deploy

## Description

The `estimateFee` function is an asynchronous function used to estimate the fee for deploying an ERC1155 contract on a specified blockchain and environment.

## Parameters

| Parameter      | Data Type | Description                                                             |
| -------------- | --------- | ----------------------------------------------------------------------- |
| `blockchain`   | string    | The blockchain on which the contract will be deployed.                  |
| `contract`     | string    | The contract type ('erc1155' for ERC1155 contract deployment).          |
| `functionType` | string    | The function type ('deploy' for contract deployment).                   |
| `env`          | string    | The environment or network of the blockchain.                           |
| `amount`       | number    | The amount used for the 'mint' function (optional, default value is 1). |

## Response

| Field          | Data Type | Description                                                           |
| -------------- | --------- | --------------------------------------------------------------------- |
| `code`         | number    | The response code indicating the success or failure of the operation. |
| `result`       | number    | The estimated fee for the contract deployment.                        |
| `VLRYEstimate` | number    | The estimated fee in VLRY (virtual asset).                            |
| `USDEstimate`  | number    | The estimated fee in USD (United States Dollar).                      |

## Example Request and Response

### Prerequisites

Before making requests with Volary SDK, you must have it installed.

You can install Volary SDK using either **`npm`** or **`yarn`**. Use the following commands to install Volary SDK:

<br>

```sh
npm install @nest25/evm-chains-lib
OR
yarn add @nest25/evm-chains-lib
```

### Request

Here is an example of how to make a `deploy` request using the Volary SDK:

```sh
const { Nft } = require('@nest25/evm-chains-lib');

const nft = new Nft('testnet');

async function main() {
    const result = await nft.estimateFee('eth', 'erc1155', 'deploy', 1);
    console.log("result", result);
}

main();
```

### Response

```sh
 result {
        code: 1,
        result: 0.32836054791881764,
        VLRYEstimate: 4136.362200559341,
        USDEstimate: 620.454330083901
      }
```

### Use Cases

* **Estimating ERC1155 contract deployment fee:** By invoking this function with the contract type as 'erc20' and function type as 'deploy', you can estimate the fee for deploying an ERC1155 contract on the specified blockchain and environment.
* **Sending HTTP request:** The function sends an HTTP request to the blockchain explorer's API to estimate the fee for contract deployment.
