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