# Clients

### CLI <a href="#cli" id="cli"></a>

Find below a list of  `blockxd` commands added with the `x/erc20` module. You can obtain the full list by using the `blockxd -h` command. A CLI command can look like this:

```bash
blockxd query erc20 params
```

#### Queries <a href="#queries" id="queries"></a>

| Command         | Subcommand    | Description                    |
| --------------- | ------------- | ------------------------------ |
| `query` `erc20` | `params`      | Get erc20 params               |
| `query` `erc20` | `token-pair`  | Get registered token pair      |
| `query` `erc20` | `token-pairs` | Get all registered token pairs |

#### Transactions

| Command      | Subcommand      | Description                    |
| ------------ | --------------- | ------------------------------ |
| `tx` `erc20` | `convert-coin`  | Convert a Cosmos Coin to ERC20 |
| `tx` `erc20` | `convert-erc20` | Convert a ERC20 to Cosmos Coin |

#### Proposals <a href="#proposals" id="proposals"></a>

The `tx gov submit-proposal` commands allow users to query create a proposal using the governance module CLI:

**`register-coin`**

Allows users to submit a `RegisterCoinProposal`.

```bash
blockxd tx gov submit-proposal register-coin [metadata] [flags]
```

**`register-erc20`**

Allows users to submit a `RegisterERC20Proposal`.

```bash
blockxd tx gov submit-proposal register-erc20 [erc20-address] [flags]
```

**`toggle-token-conversion`**

Allows users to submit a `ToggleTokenConversionProposal`.

```
blockxd tx gov submit-proposal toggle-token-conversion [token] [flags]
```

**`param-change`**

Allows users to submit a \`ParameterChangeProposal\`\`.

```
blockxd tx gov submit-proposal param-change [proposal-file] [flags]
```

### gRPC <a href="#grpc" id="grpc"></a>

#### Queries <a href="#queries-2" id="queries-2"></a>

| Verb   | Method                             | Description                    |
| ------ | ---------------------------------- | ------------------------------ |
| `gRPC` | `blockx.erc20.v1.Query/Params`     | Get erc20 params               |
| `gRPC` | `blockx.erc20.v1.Query/TokenPair`  | Get registered token pair      |
| `gRPC` | `blockx.erc20.v1.Query/TokenPairs` | Get all registered token pairs |
| `GET`  | `/blockx/erc20/v1/params`          | Get erc20 params               |
| `GET`  | `/blockx/erc20/v1/token_pair`      | Get registered token pair      |
| `GET`  | `/blockx/erc20/v1/token_pairs`     | Get all registered token pairs |

#### Transactions

| Verb   | Method                              | Description                    |
| ------ | ----------------------------------- | ------------------------------ |
| `gRPC` | `blockx.erc20.v1.Msg/ConvertCoin`   | Convert a Cosmos Coin to ERC20 |
| `gRPC` | `blockx.erc20.v1.Msg/ConvertERC20`  | Convert a ERC20 to Cosmos Coin |
| `GET`  | `/blockx/erc20/v1/tx/convert_coin`  | Convert a Cosmos Coin to ERC20 |
| `GET`  | `/blockx/erc20/v1/tx/convert_erc20` | Convert a ERC20 to Cosmos Coin |
