---
# System prepended metadata

title: Aquifer- Testing Interface Functionality Instructions
tags: [validator]

---

## Testing Interface Functionality Instructions

### 1. Install Required Binaries

1. Install the Qwoyn Testnet (earendel-1) binary using the instructions at [https://docs.cosmic-horizon.com/qwoyn-network/networks/earendel-testnet/initial-setup](https://docs.cosmic-horizon.com/qwoyn-network/networks/earendel-testnet/initial-setup).

2. Install the Osmosis Testnet (osmo-test-5) binary using the following steps:
   - Clone the Osmosis repository: `git clone https://github.com/osmosis-labs/osmosis.git`
   - Navigate to the Osmosis directory: `cd osmosis`
   - Check out the specific version: `git checkout v16.0.0-rc2-testnet`
   - Build and install the osmosisd binary: `make install`
   - Verify successful installation: Run `osmosisd version` and confirm it displays `v16.0.0-rc2-testnet`.

### 2. Create Qwoyn and Osmosis Wallets

1. Create a Qwoyn wallet:
   ```
   qwoynd keys add qwoyn-wallet
   ```
   Save the generated seed phrase securely.

2. Create an Osmosis wallet:
   ```
   osmosisd keys add osmo-wallet
   ```
   Save the generated seed phrase securely.

### 3. Request Tokens

Provide the Qwoyn and Osmosis wallet addresses to your administrator to receive the necessary tokens.

### 4. Test Interface Functionality

1. **Send Tokens via IBC:**
   Send axlUSDC tokens from the **Osmosis network** wallet to the **Qwoyn network** wallet via IBC.


```json
{
  "body": {
    "messages": [
      {
        "@type": "/ibc.applications.transfer.v1.MsgTransfer",
        "source_port": "transfer",
        "source_channel": "channel-1334",
        "token": {
          "denom": "ibc/6F34E1BD664C36CE49ACC28E60D62559A5F96C4F9A6CCE4FC5A67B2852E24CFE",
          "amount": "1000000"
        },
        "sender": "REPLACE_WITH_OSMOSIS_SENDER_ADDRESS", // Replace this with the actual Osmosis sender address
        "receiver": "REPLACE_WITH_QWOYN_RECEIVER_ADDRESS", // Replace this with the actual Qwoyn receiver address
        "timeout_height": {
          "revision_number": "1",
          "revision_height": "744664"
        },
        "timeout_timestamp": "1692471085861601357",
        "memo": ""
      }
    ],
    "memo": "",
    "timeout_height": "0",
    "extension_options": [],
    "non_critical_extension_options": []
  },
  "auth_info": {
    "signer_infos": [],
    "fee": {
      "amount": [],
      "gas_limit": "350000",
      "payer": "",
      "granter": ""
    }
  },
  "signatures": []
}
```

Replace the placeholders `REPLACE_WITH_OSMOSIS_SENDER_ADDRESS` and `REPLACE_WITH_QWOYN_RECEIVER_ADDRESS` with the actual Osmosis sender address and Qwoyn receiver address, respectively.


2. **Send Custom Message to Keplr:**
   Send a custom message to Keplr for contributing to aquifer on the Qwoyn network using the provided JSON message structure:
   
   ```json
   {
     "body": {
       "messages": [
         {
           "@type": "/cosmichorizon.qwoyn.aquifer.MsgBuyAllocationToken",
           "sender": "qwoyn1r3zpc475jg9dvsjcmf2nkkq0xgw3u6cwzl3hvx",
           "amount": {
             "denom": "ibc/5DE4FCAF68AE40F81F738C857C0D95F7C1BC47B00FA1026E85C1DD92524D4A11",
             "amount": "1000000000"
           }
         }
       ],
       "memo": "",
       "timeout_height": "0",
       "extension_options": [],
       "non_critical_extension_options": []
     },
     "auth_info": {
       "signer_infos": [],
       "fee": {
         "amount": [],
         "gas_limit": "200000",
         "payer": "",
         "granter": ""
       },
       "tip": null
     },
     "signatures": []
   }
   ```

### 5. Add Testnets to Keplr Wallet Extension

1. Open Keplr Wallet Extension: Go to [https://ping.pub/wallet/keplr](https://ping.pub/wallet/keplr).

2. Configure Qwoyn Testnet:
   - Change the parameters to match the Qwoyn Testnet using the following example JSON:
     ```json
     {
       "chainId": "earendel-1",
       "chainName": "qwoyn",
       "rpc": "http://66.42.74.12:26657",
       "rest": "http://66.42.74.12:1317",
       "bip44": {
         "coinType": 118
       },
       "coinType": 118,
       "bech32Config": {
         "bech32PrefixAccAddr": "qwoyn",
         "bech32PrefixAccPub": "qwoynpub",
         "bech32PrefixValAddr": "qwoynvaloper",
         "bech32PrefixValPub": "qwoynvaloperpub",
         "bech32PrefixConsAddr": "qwoynvalcons",
         "bech32PrefixConsPub": "qwoynvalconspub"
       },
       "currencies": [
         {
           "coinDenom": "QWOYN",
           "coinMinimalDenom": "uqwoyn",
           "coinDecimals": 6,
           "coinGeckoId": "unknown"
         }
       ],
       "feeCurrencies": [
         {
           "coinDenom": "QWOYN",
           "coinMinimalDenom": "uqwoyn",
           "coinDecimals": 6,
           "coinGeckoId": "unknown",
           "gasPriceStep": {
             "low": 0.01,
             "average": 0.025,
             "high": 0.03
           }
         }
       ],
       "gasPriceStep": {
         "low": 0.01,
         "average": 0.025,
         "high": 0.03
       },
       "stakeCurrency": {
         "coinDenom": "QWOYN",
         "coinMinimalDenom": "uqwoyn",
         "coinDecimals": 6,
         "coinGeckoId": "unknown"
       },
       "features": []
     }
     ```
   - Click "Add Cosmos to Keplr Wallet" and follow the prompts to sign the transaction.

3. Add Osmosis Testnet:
   - Use the following example JSON to configure the Osmosis Testnet:
     ```json
     {
       "chainId": "osmo-test-5",
       "chainName": "osmosis",
       "rpc": "https://rpc.testnet.osmosis.zone",
       "rest": "https://lcd.testnet.osmosis.zone",
       "bip44": {
         "coinType": 118
       },
       "coinType": 118,
       "bech32Config": {
         "bech32PrefixAccAddr": "osmo",
         "bech32PrefixAccPub": "osmopub",
         "bech32PrefixValAddr": "osmovaloper",
         "bech32PrefixValPub": "osmovaloperpub",
         "bech32PrefixConsAddr": "osmovalcons",
         "bech32PrefixConsPub": "osmovalconspub"
       },
       "currencies": [
         {
           "coinDenom": "OSMO",
           "coinMinimalDenom": "uosmo",
           "coinDecimals": 6,
           "coinGeckoId": "osmosis"
         }
       ],
       "feeCurrencies": [
         {
           "coinDenom": "OSMO",
           "coinMinimalDenom": "uosmo",
           "coinDecimals": 6,
           "coinGeckoId": "osmosis",
           "gasPriceStep": {
             "low": 0.01,
             "average": 0.025,
             "high": 0.03
           }
         }
       ],
       "gasPriceStep": {
         "low": 0.01,
         "average": 0.025,
         "high": 0.03
       },
       "stakeCurrency": {
         "coinDenom": "OSMO",
         "coinMinimalDenom": "uosmo",
         "coinDecimals": 6,
         "coinGeckoId": "osmosis"
       },
       "features": []
     }
     ```
   - Click "Add Cosmos to Keplr Wallet" and follow the prompts to sign the transaction.

### 6. Useful Commands and Information

In order to query nodes or send transactions from nodes you will need to include a few flags at the end of your transactions from the cli. 

- Qwoyn Flags
`--chain-id earendel-1 --node http://66.42.74.12:26657 --fees 12500uqwoyn --gas 400000`

- Osmosis Flags
`--chain-id osmo-test-5 --node https://rpc.testnet.osmosis.zone:443 --fees 5000uosmo --gas 400000`

**Example**

```
osmosisd tx ibc-transfer transfer transfer channel-1705 qwoyn1qplf0ugnevvwfepqhwch0qmtfhwvdr8yjzze63 5000000ibc/6F34E1BD664C36CE49ACC28E60D62559A5F96C4F9A6CCE4FC5A67B2852E24CFE --from osmo1mqtnspwqmuqpwera2p24j0gy0v5ajz9kz5mp3d --chain-id osmo-test-5 --node https://rpc.testnet.osmosis.zone:443 --fees 5000uosmo --gas 400000
```

1. Installing osmosisd

Go to https://github.com/osmosis-labs/osmosis and clone the repo.  Installing this binary is similar to installing qwoynd.  Go to cloned repo and `make install`.

2. Transferring tokens from Osmosis to Qwoyn via IBC

```
osmosisd tx ibc-transfer transfer transfer channel-1705 <destination address on qwoyn> AMOUNTdenom --from <sender>
```

**Example**

```
osmosisd tx ibc-transfer transfer transfer channel-1705 qwoyn1qplf0ugnevvwfepqhwch0qmtfhwvdr8yjzze63 5000000ibc/6F34E1BD664C36CE49ACC28E60D62559A5F96C4F9A6CCE4FC5A67B2852E24CFE --from osmo1mqtnspwqmuqpwera2p24j0gy0v5ajz9kz5mp3d
```

3. Transfering tokens from Qwoyn to Osmosis via IBC

```
qwoynd tx ibc-transfer transfer transfer channel-16 <destination address> AMOUNTdenom --from <sender>
```

**Example**
```
qwoynd tx ibc-transfer transfer transfer channel-16 osmo1mqtnspwqmuqpwera2p24j0gy0v5ajz9kz5mp3d 5000000ibc/6F34E1BD664C36CE49ACC28E60D62559A5F96C4F9A6CCE4FC5A67B2852E24CFE --from qwoyn1qplf0ugnevvwfepqhwch0qmtfhwvdr8yjzze63
```

4. Querying Transactions

```
qwoynd/osmosisd q tx --type=hash <TXhash>
```

**Example**

```
qwoynd q tx --type=hash 38B6A506495F3B334BAD28C47FDB0541F060F470563E5A98D28415E2A9E6C3A9

osmosisd q tx --type=hash 38B6A506495F3B334BAD28C47FDB0541F060F470563E5A98D28415E2A9E6C3A9
```

5. Listing accounts

```
qwoynd/osmosisd keys list
```

6. Finding balances of Accounts

```
qwoynd/osmosisd q bank balances <address>
```

**Example**

```
qwoynd q bank balances qwoyn1qplf0ugnevvwfepqhwch0qmtfhwvdr8yjzze63
```

