## 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
```